欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Java對象的內(nèi)存布局及訪問定位是什么

今天就跟大家聊聊有關(guān)Java對象的內(nèi)存布局及訪問定位是什么,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

創(chuàng)新互聯(lián)公司是專業(yè)的鄱陽網(wǎng)站建設(shè)公司,鄱陽接單;提供成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作,網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行鄱陽網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!

在HotSpot虛擬機(jī)中,對象在內(nèi)存中的布局分為三塊區(qū)域:對象頭(Header)、實(shí)例數(shù)據(jù)(InstanceData)、對齊填充(Padding)。

對象的內(nèi)存布局

對象頭包括兩部分信息,第一部分用于存儲對象自身的運(yùn)行時數(shù)據(jù),如哈希碼、GC分代年齡、鎖狀態(tài)標(biāo)志、線程持有的鎖、偏向線程ID、偏向時間戳等,官方稱這部分?jǐn)?shù)據(jù)為MarkWord。另外一部分是類型指針,即對象指向它的類元數(shù)據(jù)的指針,虛擬機(jī)通過這個指針確定對象是哪個類的實(shí)例。但不是所有的虛擬機(jī)實(shí)現(xiàn)都會在對象數(shù)據(jù)上保留類型指針,也就是說查找對象的元數(shù)據(jù)信息不一定要經(jīng)過對象本身,這點(diǎn)會在下面對象定位方式中講到。另外如果對象是一個Java數(shù)組,對象頭中還會記錄數(shù)組長度,用來確定Java對象的大小。

HotSpot虛擬機(jī)對象頭MarkWord

對象的真正有效數(shù)據(jù),也就是代碼中定義的字段內(nèi)容。這部分存儲數(shù)據(jù)受到虛擬機(jī)分配策略參數(shù)和字段在Java源碼中定義順序的影響。HotSpot虛擬機(jī)默認(rèn)分配策略為longs/doubles、ints、shorts/chars、bytes/booleans、oops。相同寬度的字段總是被分配到一起。在這個前提下,父類中定義的變量會出現(xiàn)在子類之前。如果CompactFields參數(shù)為true,那么子類中較窄的變量也可能插到父類變量的空隙中。

對齊填充并不是必然存在的,也沒有特殊含義,它僅僅是占位符。由于HotSpotVM的自動內(nèi)存管理系統(tǒng)要求對象起始地址必須是8字節(jié)的整數(shù)倍,也就是對象大小必須是8字節(jié)的整數(shù)倍。因此當(dāng)對象實(shí)例數(shù)據(jù)沒有對齊時,就會通過對齊填充來補(bǔ)全。

對象的訪問定位

建立對象是為了使用對象,Java程序需要通過Java棧上的reference數(shù)據(jù)來操作Java堆上的對象。reference類型就是一個指向?qū)ο蟮囊?。對象的訪問方式取決于虛擬機(jī)實(shí)現(xiàn),目前的訪問方式主要有使用句柄和直接指針兩種。

如果使用句柄訪問,Java堆中將會劃分出一塊內(nèi)存作為句柄池,reference中存儲的就是對象的句柄地址,而句柄中包含了對象的實(shí)例數(shù)據(jù)與類型數(shù)據(jù)的地址

如果使用直接指針訪問,reference中存儲的直接就是對象地址,但是對象中還會放置訪問類型數(shù)據(jù)的指針。

這兩種對象訪問方式各有優(yōu)劣,使用句柄訪問的話,reference中存儲的是穩(wěn)定的句柄地址,垃圾收集時移動對象的話,只會修改句柄中的實(shí)例數(shù)據(jù)指針,而reference本身不需要修改。

使用直接指針訪問的最大好處就是速度更快,節(jié)省了一次指針定位的時間,對象訪問非常頻繁,這種節(jié)省極少成多的話也是非??捎^。

HotSpot虛擬機(jī)使用的是直接指針訪問的方式。

看完上述內(nèi)容,你們對Java對象的內(nèi)存布局及訪問定位是什么有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。

文章題目:Java對象的內(nèi)存布局及訪問定位是什么
網(wǎng)站網(wǎng)址:http://chinadenli.net/article26/ihgjjg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、網(wǎng)站排名、品牌網(wǎng)站建設(shè)、網(wǎng)站制作、ChatGPT建站公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)
日本和亚洲的香蕉视频| 五月婷婷六月丁香狠狠| 久久综合亚洲精品蜜桃| 好吊妞视频免费在线观看| 真实国产乱子伦对白视频不卡| 日本午夜一本久久久综合| 国产精品美女午夜福利| 成人免费高清在线一区二区| 国产精品欧美激情在线| 不卡中文字幕在线视频| 国产亚州欧美一区二区| 亚洲成人久久精品国产| 国产女高清在线看免费观看| 欧美日韩国产精品自在自线| 丝袜诱惑一区二区三区| 日韩综合国产欧美一区| 亚洲国产性生活高潮免费视频| 亚洲日本韩国一区二区三区| 欧美日韩精品综合在线| 日本精品免费在线观看| 免费观看一级欧美大片| 国产av天堂一区二区三区粉嫩| 日韩国产精品激情一区 | 黄男女激情一区二区三区| 国产av天堂一区二区三区粉嫩| 久草精品视频精品视频精品 | 亚洲中文在线观看小视频| 国产又大又硬又粗又湿| 午夜直播免费福利平台| 开心久久综合激情五月天| 国产欧美日韩精品自拍| 国产又粗又硬又长又爽的剧情| 婷婷激情五月天丁香社区| 熟女乱一区二区三区丝袜| 久草视频在线视频在线观看| 久久精品国产亚洲av麻豆尤物| 日韩一级一片内射视频4k| 精品国产av一区二区三区不卡蜜 | 亚洲欧美中文字幕精品| 亚洲国产四季欧美一区| 日本加勒比在线观看不卡|