java 面向對象以內存管理

java 內存管理由JVM來管理java

一堆:ide

1存儲new出來的對象(包括實例變量)this

 

2垃圾:沒有任何引用所指向的對象,垃圾回收器(Gc)不定時到內存中去清掃垃圾, Gc的回收過程是透明的,不必定發現垃圾就馬上回收能夠調用System.gc()建議虛擬機盡      快     調度Gc來回收垃圾對象

 

3實例變量的生命週期:建立時存儲在堆中,對象被回收時一併被收回blog

 

4內存泄漏:再也不使用的內存尚未被及時的回收生命週期

建議:若對象再也不使用時應及時將其引用設置爲null內存

 

二棧:get

1存儲正在調用的方法中的全部局部變量(包括方法的參數)虛擬機

2調用調用方法時會爲該方法在棧中分配一塊對應的棧幀,棧幀中包含方法的局部變量(包括參數),當方法調用結束時,棧幀被清除,局部變量一併被清除it

3局部變量的生命週期:

調用方法時存儲在棧中,方法結束時與棧幀一併消失

三方法區:

1存儲.class字節碼文件(包括方法,靜態變量)

2方法只有一份,經過this來區分具體的訪問對象

 

幾張關於堆棧方法區內存的大體圖,適合基礎學者用於理解。

堆方法區棧

相關文章
相關標籤/搜索