一些關於類加載和銷燬的介紹

JVM解釋執行過程大概有三步:類加載,字節碼校驗,解釋字節命令調用底層硬件執行。
(1)當需要用到某一個類的時候,class loader去加載該類,這時候會爲靜態變量分配內存空間,執行靜態代碼塊的內容,就是類的開始。
(2)當虛擬機終止如(System.exit(0);)的時候類就會被銷燬


(1)是對象成員變量,當new一個對象實例的時候就爲其分配空間,當(1)的list = null;也就是(1)沒有被引用的時候,該對象有可能被銷燬,具體看JVM的垃圾回收器什麼時候去回收,當然也可以調用System.gc();強制JVM回收。
 
(2)是靜態的成員變量,類加載的時候就爲其分配空間,而且在全局只維護一份內存。
 
(3)是具有函數作用域的,當對象調用該方法的時候就執行創建該局部變量,方法結束後就銷燬
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章