概述
一個(gè)對(duì)象本身的內(nèi)在結(jié)構(gòu)需要一種描述方式,這個(gè)描述信息是以字節(jié)碼的方法存儲(chǔ)在方法區(qū)中的。
Class 本身就是一個(gè)對(duì)象,都以 KB 為單位,如果 new Integer() 為了表示一個(gè)數(shù)據(jù)就占用KB級(jí)別的內(nèi)存就有點(diǎn)不值了,下面講解 JVM 是如何做的。
為了表示對(duì)象的屬性、方法等信息,不得不需要結(jié)構(gòu)描述。Hotspot VM 使用對(duì)象頭部的一個(gè)指針指向 Class 區(qū)域的方式來找到對(duì)象的 Class 描述,以及內(nèi)部的方法、屬性入口。如下圖所示:
在 HotSpot 虛擬機(jī)中,對(duì)象在內(nèi)存中存儲(chǔ)布局分為 2 塊區(qū)域:對(duì)象頭(Header)、實(shí)例數(shù)據(jù)(Instance Data)、對(duì)齊填充(Padding),下面詳細(xì)講解各部分內(nèi)容。
對(duì)象頭(Header)
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動(dòng)安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊(duì)列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識(shí)別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動(dòng)安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26