GC之G1收集器
在jdk1.8的環境下,設置vm參數:
執行同樣的代碼,有如下的效果:
能看到最明顯的變化,G1不再區分新生代和養老代,不像之前是3層,G1是2層。
翻看上面的打印內容:可以看到開啓了G1.
G1是什麼?
特點
G1底層原理
相比以前的垃圾收集器,是區域化的垃圾收集器。本質上發生了變革!
區域化垃圾收集器介紹
hum:超大對象區。
回收步驟
上面2圖演示了region區域角色的輪換。
回收的4步過程
G1參數配置以及和CMS的比較
通過一個案例引入,需要修改vm參數:
執行效果:
開始的時候,按照步驟進行初始化標記。
然後執行併發標記,耗時實際上很短。
然後最終標記,確實一下是否需要回收,之後就是回收的過程。
參數配置
一般用給g1,上面這三個就可以了,其他就用默認。
G1對比CMS
JVMGC結合springboot微服務優化
這個專題是具體的使用場景,就是用於JVMGC結合springboot微服務的生產部署和調參優化。jvm調優如何落地?
tomcat不用,用Undertow(QPS遠超tomcat)。從2019-4月開始
內部啓動:
外部啓動(重點):
根據微服務的場景,比如訂單微服務需要大內存,如下圖:
這就實現了定製化訴求,看一下啊jvm參數: