1.7.0_79
眾所周知,Java是一門(mén)不用程序員手動(dòng)管理內(nèi)存的語(yǔ)言,全靠JVM自動(dòng)管理內(nèi)存,既然是自動(dòng)管理,那必然有一個(gè)垃圾內(nèi)存的回收機(jī)制或者回收算法。本文將介紹幾種常見(jiàn)的垃圾回收(下文簡(jiǎn)稱(chēng)GC)算法。
在Java堆上分配一個(gè)內(nèi)存給實(shí)例對(duì)象時(shí),此時(shí)在虛擬機(jī)棧上引用型變量就會(huì)存放這個(gè)實(shí)例對(duì)象的起始地址。
Object obj = new Object();
現(xiàn)在如果我們將變量賦值為null。
obj = null;
此時(shí)可以看到Java堆上的實(shí)例對(duì)象無(wú)法再次引用它,那么它就是被GC的對(duì)象,我們稱(chēng)之為對(duì)象“已死”。那虛擬機(jī)棧上的obj變量呢?