一:靜態內存的分配和回收策略
靜態內存分配指 java在編譯時期就能夠確定需要的內存空間,並在程序加載時一次性分配給程序。這些內存空間在程序運行期間不會發生變化,直到程序運行結束時,內存空間被回收。
通常情況下,對象的引用,類和方法中的局部變量,,包括原生數據類型都是使用靜態內存分配方法。
二:動態內存的分配和回收
動態內存分配主要是發生在java堆中,包括對象的創建,數組的創建。對象被回收的時間也不確定,只有當這個對象不再使用時纔會被回收。
即:內存的分配是在對象創建是發生的,二內存的回收是不確定的,但是是以對象不再被引用爲前提的。
三:檢測垃圾
當一個對象不再被其他活動的對象引用時,這個對象就被判定爲垃圾對象,他就可以被GC回收了。