成人视屏在线观看-国产99精品-国产精品1区2区-欧美一级在线观看-国产一区二区日韩-色九九九

您的位置:首頁技術文章
文章詳情頁

android - java中使用MAT是shallow size 單位是什么

瀏覽:136日期:2024-01-27 09:49:52

問題描述

java中shallow size 單位是什么

問題解答

回答1:

想要說清楚shallow size就必須要提到Retained Size。shallow size: 表示自身對象占用的大小。retained size: 自身對象+引用對象的retained大小。

先借用一張圖,這張圖更能清楚的表示他們之間的計算關系。android - java中使用MAT是shallow size 單位是什么

B的shallow size = B;

B的retained size = B shallow size + C retained size + D retained size;

在舉例之前,首先要了解JAVA對象在堆中的存儲,我們以32位JVM虛擬機為例:JAVA對象在堆中共有3個部分組成:

對象頭 對象頭又包含兩部分數據; 一:運行時數據。 32位JVM為32位即4byte.64位為8byte. 二:類型指針。

實例數據 即存放實例變量的數據,變量類型包括兩種 基本類型變量和引用變量。 基本類型變量所占據的字節大小就不說了,引用變量我們存放的是指針。

填充數據 對象存儲空間為8byte的整數倍,如果對象頭+實例數據不足8byte的整數倍,則進行填充。

說到引用類型大小,32位虛擬機下引用占據4byte. 64位虛擬機下如果不開啟指針壓縮,則引用占據8byte。

下面我們根據例子進行說明:

public class TestObjSize { private int a = 1; private boolean b = true; private TestObjSize testObjSize;public static void main(String[] args) {Object object = new Object();TestObjSize test = new TestObjSize();//這個new出來的對象記為obj1test.testObjSize = new TestObjSize();//這個new出來的對象記為obj2System.out.println(object.hashCode());System.out.println(test.hashCode());try { Thread.sleep(3000000);} catch (InterruptedException e) { e.printStackTrace();} }}

因為shallow size與實例變量是否有引用無關,所我們先分析下**TestObjSize的shallow size,shallow size = 4byte(對象頭) + 4byte(類型指針) + 4byte(int a) + 1byte(boolean b) + 4byte(TestObjSize引用) = 17;** 17不是8的整數倍所以會有7個byte的填充數據,最終TestObjSize類型的實例對象的shallow size = 24;

根據例子我們看到obj2對象的testObjSize = null,obj2的retained size = obj2的shallow size = 24;obj1對象的testObjSize為obj2,所以obj1的retained size = obj1的shallow size + obj2的retained size = 48;

最后附上heapdump!

android - java中使用MAT是shallow size 單位是什么

如有錯誤,請看客指證。

標簽: java
相關文章:
主站蜘蛛池模板: 韩国毛片免费 | 国产免费麻豆 | 欧美日韩一日韩一线不卡 | 欧美一级影院 | 欧美一区二区三区激情视频 | 成人久久久久久 | 国产精品日韩欧美一区二区三区 | a级一级黄色片 | 日本在线看小视频网址 | 国产乱弄视频在线观看 | 亚洲视频黄 | 日韩毛片在线播放 | 日韩一区二区三区视频在线观看 | 最近免费手机中文字幕3 | 国产高清视频免费观看 | 免费看岛国视频在线观看 | 国产在线观看一区二区三区四区 | 成人做爰免费网站 | fulidown国产精品合集 | a毛片免费全部播放毛 | 国产一级强片在线观看 | 免费看真人a一级毛片 | 日韩精品不卡 | se94se欧美| 亚洲福利视频精选在线视频 | 最近最新中文字幕免费的一页 | 亚洲精品久久久中文字 | 亚洲成a v人片在线观看 | 亚洲国产成人精品久久 | 日日干日日操日日射 | 亚洲一区欧美二区 | 久久久久久综合一区中文字幕 | 久久久久亚洲视频 | 国内美女福利视频在线观看网站 | 精品视频一区二区三区四区 | 免费国产a国产片高清不卡 免费国产不卡午夜福在线 免费国产不卡午夜福在线观看 | 欧美三级不卡在线观看视频 | 日韩一区三区 | 久久成人18 | 日本高清精品 | 免费人成在线观看视频不卡 |