Java類加載、卸載、佔用內存、靜態方法佔用內存分析

1、類的加載時機:html

類在何時加載和初始化java

2、類的卸載時機:數組

類卸載,知足下面三個條件:.net

一、該類全部的實例都已經被回收,也就是java堆中不存在該類的任何實例。 二、加載該類的ClassLoader已經被回收。 三、該類對應的java.lang.Class對象沒有任何地方被引用,沒法在任何地方經過反射訪問該類的方法。指針

3、一個類佔用內存:htm

java方法區對象

4、一個對象佔用內存:blog

一個Java對象到底佔用多大內存內存

對象頭(Header)對象頭在32位系統上佔用8bytes,64位系統上佔用16bytes。get

實例數據(Instance Data))

對齊填充(Padding)HotSpot的對齊方式爲8字節對齊。

指針壓縮 對象佔用的內存大小收到VM參數UseCompressedOops的影響。

數組對象 64位機器上,數組對象的對象頭佔用24個字節,啓用壓縮以後佔用16個字節

5、靜態方法和實例方法站內內存分析:

看似簡單的問題 靜態方法和實例化方法的區別

相關文章
相關標籤/搜索