国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

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

BearyChat / 545人閱讀

摘要:今天開始實(shí)戰(zhàn)虛擬機(jī)之三的新生代。一旦區(qū)被占滿,新生代就會(huì)啟動(dòng)。新生代收集前后的堆數(shù)據(jù)如圖所示,其中表示區(qū),表示區(qū),表示老年代。當(dāng)然我們最為關(guān)心的依然是的停頓時(shí)間以及回收情況。節(jié)選自實(shí)戰(zhàn)虛擬機(jī)一書交流群

今天開始實(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。

節(jié)選自

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

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/64347.html

相關(guān)文章

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

    摘要:今天開始實(shí)戰(zhàn)虛擬機(jī)之二虛擬機(jī)的工作模式。總計(jì)有個(gè)系列實(shí)戰(zhàn)虛擬機(jī)之一堆溢出處理實(shí)戰(zhàn)虛擬機(jī)之二虛擬機(jī)的工作模式實(shí)戰(zhàn)虛擬機(jī)之三的新生代實(shí)戰(zhàn)虛擬機(jī)之四禁用實(shí)戰(zhàn)虛擬機(jī)之五開啟編譯目前的虛擬機(jī)支持和兩種運(yùn)行模式。 今天開始實(shí)戰(zhàn)Java虛擬機(jī)之二:虛擬機(jī)的工作模式。 總計(jì)有5個(gè)系列實(shí)戰(zhàn)Java虛擬機(jī)之一堆溢出處理實(shí)戰(zhàn)Java虛擬機(jī)之二虛擬機(jī)的工作模式實(shí)戰(zhàn)Java虛擬機(jī)之三G1的新生代GC實(shí)戰(zhàn)Jav...

    focusj 評(píng)論0 收藏0
  • 實(shí)戰(zhàn)Java虛擬機(jī)之一“堆溢出處理”

    摘要:如下文字顯示了典型的堆內(nèi)存溢出一旦發(fā)生這類問題,系統(tǒng)就會(huì)被迫退出。有關(guān)等工具的使用,可以參閱實(shí)戰(zhàn)虛擬機(jī)故障診斷與性能優(yōu)化第章。除了在發(fā)生時(shí)可以導(dǎo)出堆信息外,虛擬機(jī)還允許在發(fā)生錯(cuò)誤時(shí)執(zhí)行一個(gè)腳本文件。 從今天開始,我會(huì)發(fā)5個(gè)關(guān)于java虛擬機(jī)的小系列:實(shí)戰(zhàn)Java虛擬機(jī)之一堆溢出處理 [實(shí)戰(zhàn)Java虛擬機(jī)之二虛擬機(jī)的工作模式][2] [實(shí)戰(zhàn)Java虛擬機(jī)之三G1的新生代GC][3] 實(shí)戰(zhàn)...

    Arno 評(píng)論0 收藏0
  • 深入理解虛擬機(jī)之虛擬機(jī)性能監(jiān)控和故障處理工具

    摘要:監(jiān)控和故障處理工具顯示指定系統(tǒng)內(nèi)所有的虛擬機(jī)進(jìn)程用于收集虛擬機(jī)各方面的運(yùn)行數(shù)據(jù)。的常用功能選項(xiàng)測(cè)試上面輸出了我正在運(yùn)行程序的包名下的類名虛擬機(jī)統(tǒng)計(jì)信息監(jiān)視工具使用于監(jiān)視虛擬機(jī)各種運(yùn)行狀態(tài)信息的命令行工具。 《深入理解Java虛擬機(jī):JVM高級(jí)特性與最佳實(shí)踐(第二版》讀書筆記與常見面試題總結(jié) 本節(jié)常見面試題(推薦帶著問題閱讀,問題答案在文中都有提到): JVM調(diào)優(yōu)的常見命令行工具有哪些?...

    jas0n 評(píng)論0 收藏0
  • 深入理解虛擬機(jī)之Java內(nèi)存區(qū)域

    摘要:運(yùn)行時(shí)數(shù)據(jù)區(qū)域虛擬機(jī)在執(zhí)行程序的過程中會(huì)把它管理的內(nèi)存劃分成若干個(gè)不同的數(shù)據(jù)區(qū)域。堆虛擬機(jī)所管理的內(nèi)存中最大的一塊,堆是所有線程共享的一塊內(nèi)存區(qū)域,在虛擬機(jī)啟動(dòng)時(shí)創(chuàng)建。 《深入理解Java虛擬機(jī):JVM高級(jí)特性與最佳實(shí)踐(第二版》讀書筆記 1 概述 對(duì)于Java程序員來說,在虛擬機(jī)自動(dòng)內(nèi)存管理機(jī)制下,不再需要像C/C++程序開發(fā)程序員這樣為內(nèi)一個(gè)new 操作去寫對(duì)應(yīng)的delete/...

    dance 評(píng)論0 收藏0
  • 深入理解虛擬機(jī)之Java內(nèi)存區(qū)域

    摘要:深入理解虛擬機(jī)高級(jí)特性與最佳實(shí)踐第二版讀書筆記與常見面試題總結(jié)本節(jié)常見面試題介紹下內(nèi)存區(qū)域運(yùn)行時(shí)數(shù)據(jù)區(qū)。運(yùn)行時(shí)數(shù)據(jù)區(qū)域虛擬機(jī)在執(zhí)行程序的過程中會(huì)把它管理的內(nèi)存劃分成若干個(gè)不同的數(shù)據(jù)區(qū)域。 《深入理解Java虛擬機(jī):JVM高級(jí)特性與最佳實(shí)踐(第二版》讀書筆記與常見面試題總結(jié) 本節(jié)常見面試題: 介紹下Java內(nèi)存區(qū)域(運(yùn)行時(shí)數(shù)據(jù)區(qū))。 對(duì)象的訪問定位的兩種方式。 1 概述 對(duì)于Java...

    lavnFan 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<