日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JVM(4)——对象访问

發布時間:2023/12/4 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JVM(4)——对象访问 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、對象創建過程

在Java語言中,對象是如何訪問的呢?對象訪問在Java語言中無處不在,是最普通的程序行為,但即使是最簡單的訪問,也會涉及Java虛擬機棧Java堆區方法區


對于下面這行代碼,

Object obj = new Object();

假設這句代碼出現在方法體中,(1)那么“Objec obj”這部分的語義將會反映到Java棧的本地變量表中,作為一個reference類型數據出現;(2)而“new Object()”這部分的語義將會反映到Java堆中,形成一塊存儲了Object類型所有實例數據值的(Instance Data,對象中各個實例字段的數據)的結構化內存,根據具體類型以及虛擬機實習的對象內存布局的不同,這塊內存的長度是不固定的;另外,在Java堆中還必須包含能查找到此對象類型數據(如對象類型、父類、實現的借口、方法等)的地址信息,這些類型數據則存儲在方法區中。


二、對象訪問方式

主流的兩種訪問方式:使用句柄直接指針

使用句柄方式:Java堆中將會劃分出一塊內存來作為句柄池,reference中存儲的就是對象的句柄地址,而句柄中包含了對象實例數據和類型數據各自的具體地址信息。


使用直接指針方式:Java堆對象的布局中就必須考慮如何放置訪問類型數據的相關信息,reference中直接存儲的就是對象地址。


這兩種對象的訪問方式各有優勢,使用句柄訪問方式的最大好處就是reference中存儲的是穩定的句柄地址,在對象被移動時只會改變句柄中的實例數據指針,而reference本身不需要被修改。

使用直接指針訪問方式的最大好處就是速度更快,它節省了一次指針定位的時間開銷。Sun HotSpot虛擬機使用的是這種方式。

總結

以上是生活随笔為你收集整理的JVM(4)——对象访问的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。