Java中9種常見的CMS GC問題分析與解決

{"type":"doc","content":[{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"1. 寫在前面"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"本文主要針對 Hotspot VM 中“CMS + ParNew”組合的一些使用場景進行總結。重點通過部分源碼對根因進行分析以及對排查方法進行總結,排查過程會省略較多。另外,本文專業術語較多,有一定的閱讀門檻,如未介紹清楚,還請自行查閱相關材料。"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"本文總字數 2 萬左右(不包含代碼片段),整體閱讀時間約 30min ,文章較長,可以選擇你感興趣的場景進行研究。"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.infoq.cn\/resource\/image\/58\/9d\/58b130fe50c3e7c5d05df4af43479e9d.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":false}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"1.1 引言"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"自 Sun 發佈 Java 語言以來,開始使用 GC 技術來進行內存自動管理,避免了手動管理帶來的懸掛指針(Dangling Pointer)問題,很大程度上提升了開發效率,從此 GC 技術也一舉成名。GC 有着非常悠久的歷史,1960 年有着“Lisp 之父”和“人工智能之父”之稱的 John McCarthy 就在論文中發佈了 GC 算法,60 年以來, GC 技術的發展也突飛猛進,但不管是多麼前沿的收集器也都是基於三種基本算法的組合或應用,也就是說 GC 要解決的根本問題這麼多年一直都沒有變過。筆者認爲,在不太遠的將來, GC 技術依然不會過時,比起日新月異的新技術,GC 這門古典技術更值得我們學習。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章