java Java中為什么不設(shè)置一個函數(shù),讓程序員來標(biāo)記可以被gc回收的變量?
Java中為什么不設(shè)置一個函數(shù),讓程序員來標(biāo)記可以被gc回收的變量?為了擺脫放羊的艱苦生活,小a努力學(xué)習(xí)。他成功后,朋友邀請他到澳大利亞買了一個農(nóng)場,過上舒適的生活。如果你想寫,你可以寫C。但現(xiàn)實是,
Java中為什么不設(shè)置一個函數(shù),讓程序員來標(biāo)記可以被gc回收的變量?
為了擺脫放羊的艱苦生活,小a努力學(xué)習(xí)。他成功后,朋友邀請他到澳大利亞買了一個農(nóng)場,過上舒適的生活。
如果你想寫,你可以寫C。但現(xiàn)實是,許多C不能忍受他們的GC切換到Java。。。你想倒退。。。
最初,Java的GC的優(yōu)點是異步集中收集,這是一種比手動刪除更有效的方法。為什么你要自立,自己動手。
jvm怎樣判斷gc是否合適?
Java世界中幾乎所有的對象實例都存儲在堆中。在垃圾回收器回收堆之前,首先要確定這些對象中哪些仍然是“活動”的,哪些已經(jīng)是“死”的(即,不能再以任何方式使用的對象)
算法的邏輯如下:向?qū)ο筇砑右糜嫈?shù)器。每當(dāng)有地方引用時,計數(shù)器值將增加1;當(dāng)引用失敗時,計數(shù)器將減少1;任何時候計數(shù)器為0的對象將不能再使用。
在Java中如何主動調(diào)用GC?
在正常情況下,我們使用Java的自動回收機(jī)制。如果有GC不能解決的問題,我們應(yīng)該用工具來檢查。
??常情況下,我們使用java的自動回收機(jī)制,如果出現(xiàn)gc不掉的問題,應(yīng)該結(jié)合工具去排查。
回答整體:System.gc()會提示虛擬機(jī)去執(zhí)行g(shù)c,但僅僅是提示。虛擬機(jī)并不會立即執(zhí)行g(shù)c~