国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

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

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

問題描述

java中shallow size 單位是什么

問題解答

回答1:

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

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

B的shallow size = B;

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

在舉例之前,首先要了解JAVA對(duì)象在堆中的存儲(chǔ),我們以32位JVM虛擬機(jī)為例:JAVA對(duì)象在堆中共有3個(gè)部分組成:

對(duì)象頭 對(duì)象頭又包含兩部分?jǐn)?shù)據(jù); 一:運(yùn)行時(shí)數(shù)據(jù)。 32位JVM為32位即4byte.64位為8byte. 二:類型指針。

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

填充數(shù)據(jù) 對(duì)象存儲(chǔ)空間為8byte的整數(shù)倍,如果對(duì)象頭+實(shí)例數(shù)據(jù)不足8byte的整數(shù)倍,則進(jìn)行填充。

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

下面我們根據(jù)例子進(jìn)行說明:

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();//這個(gè)new出來的對(duì)象記為obj1test.testObjSize = new TestObjSize();//這個(gè)new出來的對(duì)象記為obj2System.out.println(object.hashCode());System.out.println(test.hashCode());try { Thread.sleep(3000000);} catch (InterruptedException e) { e.printStackTrace();} }}

因?yàn)閟hallow size與實(shí)例變量是否有引用無關(guān),所我們先分析下**TestObjSize的shallow size,shallow size = 4byte(對(duì)象頭) + 4byte(類型指針) + 4byte(int a) + 1byte(boolean b) + 4byte(TestObjSize引用) = 17;** 17不是8的整數(shù)倍所以會(huì)有7個(gè)byte的填充數(shù)據(jù),最終TestObjSize類型的實(shí)例對(duì)象的shallow size = 24;

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

最后附上heapdump!

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

如有錯(cuò)誤,請(qǐng)看客指證。

標(biāo)簽: java
相關(guān)文章:
主站蜘蛛池模板: 日韩欧美国产精品第一页不卡 | 欧美成年黄网站色视频 | 成人在线观看不卡 | 自拍视频网 | 国产精品国产三级国产普通 | 国产福利片在线 易阳 | 超清波多野结衣精品一区 | 91资源在线 | 国产婷婷成人久久av免费高清 | 97视频免费公开成人福利 | 免费的特黄特色大片在线观看 | 亚洲人成网址在线观看 | 国产欧美成人 | 亚州精品一区二区三区 | 久久福利青草精品免费 | 好吊操这里只有精品 | 99pao在线视频成精品 | 浮力影院网站午夜 | 亚洲色视频在线播放网站 | 香蕉网站狼人久久五月亭亭 | 99在线在线视频免费视频观看 | 免费观看成年人网站 | 欧美亚洲综合网 | 日本欧美一区二区三区不卡视频 | 中文字幕最新中文字幕中文字幕 | 6080伦理久久精品亚洲 | 91精品宅男在线观看 | 亚洲欧美精品一中文字幕 | 国产91九色刺激露脸对白 | 成人小视频在线观看 | 欧美成人一级视频 | 国产在线观看精品一区二区三区91 | 理论在线看 | 怡红院在线观看在线视频 | 日日碰日日操 | 一级网站在线观看 | 久久国产精品久久久 | 97在线视频精品 | 日韩国产成人资源精品视频 | 贵州美女一级纯黄大片 | 一区二区三区不卡在线 |