JVM垃圾回收不要手動System.gc的真正原因

上一篇 <<<JVM新生代老年代算法匯總圖解
下一篇 >>>JVM垃圾回收引用計數(shù)法和根搜索算法圖解


垃圾回收機制

a.垃圾回收是由垃圾收集器自動執(zhí)行
b.程序員只能通過System.gc方法來建議執(zhí)行,無法確保是否執(zhí)行和何時執(zhí)行烙荷。
c.jvm調優(yōu)無法提高程序的運行效率镜会,它真正的目的是減少GC回收的次數(shù),讓系統(tǒng)更多的時間是去處理用戶的請求

核心思想:堆內存中對象沒有任何引用

finalize方法作用

finalize()方法在垃圾收集器將對象從內存中清除出去前终抽,做必要的清理工作戳表。
它是Object類中的,所有子方法均可以覆蓋拿诸。
但垃圾回收的時候注意finalize必須是跟著對應的對象扒袖。

//1. 直接用new對象,未復制變量時亩码,則調用System.gc()可能會執(zhí)行垃圾回收季率,finalize()內容也可能會執(zhí)行
new FinalizeTest2();
System.gc();

//2. 復制給變量后,就算調用了System.gc()描沟,finalize()內容也肯定不會執(zhí)行
FinalizeTest2 fs = new FinalizeTest2();
System.gc();

// 3.當引用對象置為空的時候飒泻,調用System.gc()可能會執(zhí)行垃圾回收,但加了System.runFinalization();就一定會執(zhí)行
FinalizeTest2 fs = new FinalizeTest2();
fs = null;
System.gc();
System.runFinalization();

@Override
public void finalize(){
    System.out.println("垃圾清理前的操作");
}
public static void main(String[] args){
    //這里要用new FinalizeTest()吏廉;要不然finalize無法執(zhí)行到泞遗,因為finalize是屬于FinalizeTest類的
    Object obj = new Object();
//        FinalizeTest obj = new FinalizeTest();
    obj = null;
    System.gc();
}
@Override
public void finalize(){
    System.out.println("垃圾清理前的操作");
}

相關文章鏈接:
<<<JVM整體內存結構的圖解,直觀明了
<<<javap命令查看對象信息及操作方法在JVM層的實現(xiàn)原理
<<<javap命令反查匯編指令匯總
<<<ClassLoader類加載器順序Demo測試與雙親委派源碼解讀
<<<自定義SPI和熱部署技術破壞類加載器的雙親委派模式
<<<JVM中對象如何完成空間分配和初始化工作
<<<JVM元空間(方法區(qū))和棧內存溢出原因及解決方案
<<<JVM堆內存溢出和內存泄露問題定位和解決
<<<JVM常見死鎖問題產生原因和多種診斷方式
<<<服務器CPU飆升為100%問題排查及如何避免
<<<JVM內存診斷命令和排查工具匯總
<<<JVM新生代老年代算法匯總圖解
<<<JVM垃圾回收引用計數(shù)法和根搜索算法圖解
<<<JVM垃圾回收STW(Stop-The-World)代碼演示
<<<JVM垃圾回收器的發(fā)展歷程及使用場景匯總
<<<JVM串行并行垃圾回收器的關注點
<<<一張圖看懂CMS垃圾回收器的底層原理
<<<G1能作為JDK9默認垃圾回收器的優(yōu)勢分析
<<<CMS和G1的漏標問題解決及三色標記算法圖解
<<<GC中新生代進入老年代的方式匯總
<<<GC常用日志參數(shù)配置及分析工具說明
<<<FullGC席覆、MinorGC史辙、STW等常見問題如何解答
<<<JVM性能調優(yōu)的評估指標及調優(yōu)示例

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市佩伤,隨后出現(xiàn)的幾起案子聊倔,更是在濱河造成了極大的恐慌,老刑警劉巖生巡,帶你破解...
    沈念sama閱讀 217,542評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件耙蔑,死亡現(xiàn)場離奇詭異,居然都是意外死亡孤荣,警方通過查閱死者的電腦和手機甸陌,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評論 3 394
  • 文/潘曉璐 我一進店門须揣,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人钱豁,你說我怎么就攤上這事耻卡。” “怎么了寥院?”我有些...
    開封第一講書人閱讀 163,912評論 0 354
  • 文/不壞的土叔 我叫張陵劲赠,是天一觀的道長。 經常有香客問我秸谢,道長,這世上最難降的妖魔是什么霹肝? 我笑而不...
    開封第一講書人閱讀 58,449評論 1 293
  • 正文 為了忘掉前任估蹄,我火速辦了婚禮,結果婚禮上沫换,老公的妹妹穿的比我還像新娘臭蚁。我一直安慰自己,他們只是感情好讯赏,可當我...
    茶點故事閱讀 67,500評論 6 392
  • 文/花漫 我一把揭開白布垮兑。 她就那樣靜靜地躺著,像睡著了一般漱挎。 火紅的嫁衣襯著肌膚如雪系枪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,370評論 1 302
  • 那天磕谅,我揣著相機與錄音私爷,去河邊找鬼。 笑死膊夹,一個胖子當著我的面吹牛衬浑,可吹牛的內容都是我干的。 我是一名探鬼主播放刨,決...
    沈念sama閱讀 40,193評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼工秩,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了进统?” 一聲冷哼從身側響起柿估,我...
    開封第一講書人閱讀 39,074評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎块请,沒想到半個月后窿给,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 45,505評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡抚芦,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,722評論 3 335
  • 正文 我和宋清朗相戀三年倍谜,在試婚紗的時候發(fā)現(xiàn)自己被綠了迈螟。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,841評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡尔崔,死狀恐怖答毫,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情季春,我是刑警寧澤洗搂,帶...
    沈念sama閱讀 35,569評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站载弄,受9級特大地震影響耘拇,放射性物質發(fā)生泄漏。R本人自食惡果不足惜宇攻,卻給世界環(huán)境...
    茶點故事閱讀 41,168評論 3 328
  • 文/蒙蒙 一惫叛、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧逞刷,春花似錦嘉涌、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至帆喇,卻和暖如春警医,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背番枚。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評論 1 269
  • 我被黑心中介騙來泰國打工法严, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人葫笼。 一個月前我還...
    沈念sama閱讀 47,962評論 2 370
  • 正文 我出身青樓深啤,卻偏偏與公主長得像,于是被迫代替她去往敵國和親路星。 傳聞我的和親對象是個殘疾皇子溯街,可洞房花燭夜當晚...
    茶點故事閱讀 44,781評論 2 354

推薦閱讀更多精彩內容