国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

實(shí)戰(zhàn)Java虛擬機(jī)之三“G1的新生代GC”

2019-11-14 23:47:17
字體:
供稿:網(wǎng)友
實(shí)戰(zhàn)java虛擬機(jī)之三“G1的新生代GC”

今天開始實(shí)戰(zhàn)Java虛擬機(jī)之三:“G1的新生代GC”。

總計(jì)有5個(gè)系列

  • 實(shí)戰(zhàn)Java虛擬機(jī)之一“堆溢出處理”
  • 實(shí)戰(zhàn)Java虛擬機(jī)之二“虛擬機(jī)的工作模式”
  • 實(shí)戰(zhàn)Java虛擬機(jī)之三“G1的新生代GC”
  • 實(shí)戰(zhàn)Java虛擬機(jī)之四“禁用System.gc()”
  • 實(shí)戰(zhàn)Java虛擬機(jī)之五“開啟JIT編譯”

新生代GC的主要工作是回收eden區(qū)和survivor區(qū)。一旦eden區(qū)被占滿,新生代GC就會(huì)啟動(dòng)。新生代GC收集前后的堆數(shù)據(jù)如圖5.6所示,其中E表示eden區(qū),S表示survivor區(qū),O表示老年代。可以看到,新生代GC只處理eden和survivor區(qū),回收后,所有的eden區(qū)都應(yīng)該被清空,而survivor區(qū)會(huì)被收集一部分?jǐn)?shù)據(jù),但是應(yīng)該至少仍然存在一個(gè)survivor區(qū),類比其他的新生代收集器,這一點(diǎn)似乎并沒有太大變化。另一個(gè)重要的變化是老年代的區(qū)域增多,因?yàn)椴糠謘urvivor區(qū)或者eden區(qū)的對(duì)象可能會(huì)晉升到老年代。

圖5.6 G1的新生代GC

新生代GC發(fā)生后,如果打開了PRintGCDetails選項(xiàng),就可以得到類似以下的GC日志(這里只給出了部分日志,完全的日志及其分析請(qǐng)看《實(shí)戰(zhàn)Java虛擬機(jī)》一書第5.4.6節(jié)):

0.336: [GC pause (young), 0.0063051 secs]….   [Eden: 235.0M(235.0M)->0.0B(229.0M) Survivors: 5120.0K->11.0M Heap: 239.2M(400.0M)->10.5M(400.0M)] [Times: user=0.06 sys=0.00, real=0.01 secs]

   和其他回收器的日志相比,G1的日志內(nèi)容非常豐富。當(dāng)然我們最為關(guān)心的依然是GC的停頓時(shí)間以及回收情況。從日志中可以看到,eden區(qū)原本占用235M空間,回收后被清空,survivor區(qū)從5M增長到了11M,這是因?yàn)椴糠謱?duì)象從eden區(qū)復(fù)制到survivor區(qū),整個(gè)堆合計(jì)為400M,從回收前的239M下降到10.5M。

實(shí)戰(zhàn)Java虛擬機(jī)之一“堆溢出處理”

實(shí)戰(zhàn)Java虛擬機(jī)之二“虛擬機(jī)的工作模式”

節(jié)選自

《實(shí)戰(zhàn)Java虛擬機(jī)》一書Q交流群:397196583


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 永新县| 津市市| 阳朔县| 南召县| 葵青区| 桐城市| 嘉义市| 满城县| 饶河县| 抚松县| 遵义县| 锦屏县| 田林县| 铜鼓县| 乡宁县| 华阴市| 望谟县| 许昌县| 泰安市| 三河市| 平果县| 乌兰浩特市| 霍林郭勒市| 宣化县| 岳阳县| 旺苍县| 榆社县| 固镇县| 邛崃市| 富川| 泰来县| 泸西县| 沿河| 千阳县| 深水埗区| 鄯善县| 息烽县| 甘洛县| 万州区| 渭南市| 景洪市|