2019-08-13 14:36:27 4505瀏覽
今天千鋒扣丁學(xué)堂Java培訓(xùn)老師給大家分享一篇關(guān)于Java的垃圾強(qiáng)制回收實(shí)例分析詳細(xì),首先當(dāng)一個(gè)對(duì)象失去引用后,系統(tǒng)何時(shí)調(diào)用它的finalize()方法對(duì)它進(jìn)行資源清理,何時(shí)它可以變成不可達(dá)狀態(tài),系統(tǒng)何時(shí)回收它占有的內(nèi)存,對(duì)于程序完全透明。程序只能控制一個(gè)對(duì)象不再被任何引用變量引用,不能控制它何時(shí)被回收。程序可以強(qiáng)制系統(tǒng)進(jìn)行垃圾回收——這種強(qiáng)制只是通知系統(tǒng)進(jìn)行垃圾回收,但系統(tǒng)是否進(jìn)行垃圾回收依然不能確定。大部分時(shí)候,程序強(qiáng)制垃圾回收后總是有一些效果。
public class GcTest { public static void main(String[] args) { for (int i = 0 ; i < 1; i++) { new GcTest(); } } public void finalize() { System.out.println("系統(tǒng)正在清理GcTest對(duì)象的資源..."); } }
public class GcTest { public static void main(String[] args) { for (int i = 0 ; i < 1; i++) { new GcTest(); // 下面兩行代碼的作用完全相同,強(qiáng)制系統(tǒng)進(jìn)行垃圾回收 // System.gc(); Runtime.getRuntime().gc(); } } public void finalize() { System.out.println("系統(tǒng)正在清理GcTest對(duì)象的資源..."); } }
E:\Java\IDEA_Java\out\production\IDEA_Java>java -verbose:gc GcTest [GC (System.gc()) 2621K->760K(251392K), 0.0009908 secs] [Full GC (System.gc()) 760K->670K(251392K), 0.0040659 secs] 系統(tǒng)正在清理GcTest對(duì)象的資源...
運(yùn)行結(jié)果顯示了程序強(qiáng)制垃圾回收的效果,但這種強(qiáng)制只是建議系統(tǒng)立即進(jìn)行垃圾回收,系統(tǒng)完全有可能并不立即進(jìn)行垃圾回收,垃圾回收機(jī)制也不會(huì)對(duì)程序的建議完全置之不理;垃圾回收機(jī)制會(huì)在收到通知后,盡快進(jìn)行垃圾回收。
以上就是關(guān)于千鋒扣丁學(xué)堂Java培訓(xùn)之垃圾強(qiáng)制回收實(shí)例分析的全部?jī)?nèi)容,希望對(duì)小伙伴們有所幫助,想要了解更多內(nèi)容的小伙伴可以登錄扣丁學(xué)堂官網(wǎng)咨詢。想要學(xué)好Java開發(fā)小編給大家推薦口碑良好的扣丁學(xué)堂,扣丁學(xué)堂有專業(yè)老師制定的Java學(xué)習(xí)路線圖輔助學(xué)員學(xué)習(xí),此外還有與時(shí)俱進(jìn)的Java課程體系和Java視頻教程供大家學(xué)習(xí),想要學(xué)好Java開發(fā)技術(shù)的小伙伴快快行動(dòng)吧??鄱W(xué)堂Java技術(shù)交流群:850353792。
【關(guān)注微信公眾號(hào)獲取更多學(xué)習(xí)資料】 【掃碼進(jìn)入JavaEE/微服務(wù)VIP免費(fèi)公開課】
查看更多關(guān)于“Java開發(fā)資訊”的相關(guān)文章>>