1. gzyueqian
      13352868059

      看java工程師怎么點破jvm的幾個概念誤區-java技術分享

      更新時間: 2018-10-06 12:00:00來源: Java培訓瀏覽量:2354

          jvm的幾個概念誤區
          serial old是一種垃圾回收器
          serial old其實表示的是一種說法,老年代單線程回收。在不同的垃圾回收器中實現各部相同,現在有以下幾種實現g1MarkSweep,psMarkSweep,genMarkSweep。
          parallel gc日志里的老年代名稱有時候會變
          其實是老年代回收器不一樣。
          老年代回收器為psMarkSweep的是叫PSOldGen。
          老年代回收器為psParallelCompact的是叫ParOldGen。
          每個版本的jvm默認垃圾回收算法不一樣,如果默認是-XX:+UseParallelOldGC,你自己雖然設置了-XX:+UseParallelGC。但是也會有是加了-XX:+UseParallelOldGC的效果。
          full gc其實是minor gc,然后執行old gc。
          其實full gc就是fullgc。是區別于minor gc,old gc。
          full gc的算法其實很多
          準確來說真的只有一種。標記-清除-壓縮。實現是有多種的。
          cms的backgroud gc的時候只回收老年代。
          這個也是有參數控制的。CMSScavengeBeforeRemark,默認是關閉的。
          survivor 某個年齡對象達到survivor 區域的50%就發生晉升。
          50%其實是一個參數控制的,TargetSurvivorRatio。默認50。
          并不是某個年齡的對象大小達到。找出從1開始,累加和超過TargetSurvivorRatio的比值的那個年齡。從那個年齡開始以上的對象有資格晉升。需要和MaxTenuringThreshold對比找到小的那個年齡。
          對象優先生成在eden
          其實先的應該是棧上分配,其次是tlab(eden的一部分),然后嘗試大對象直接嘗試老年代的邏輯,如果不滿足,則在eden上分配。
          直接內存和元數據區有關系
          元數據區(1.6帶)概念上是非堆。直接內存是另外的區域,nio申請的就是這里的,有參數控制大小-XX:MaxDirectMemorySize,默認和堆的內存一樣大,并且和jni用的內存概念上也不是一回事。
          parallel gc的時候就是先執行一次minor gc,然后再old gc
          這是有個參數ScavengeBeforeFullGC老控制的。默認是打開的,日志內容輸出如下
          [GC (System.gc()) [PSYoungGen: 1843K->776K(35840K)] 1843K->784K(117760K), 0.0022147 secs] [Times: user=0.00 sys=0.00, real=0.00 secs]
          [Full GC (System.gc()) [PSYoungGen: 776K->0K(35840K)] [ParOldGen: 8K->637K(81920K)] 784K->637K(117760K), [Metaspace: 2658K->2658K(1056768K)], 0.0091183 secs] [Times: user=0.00 sys=0.00, real=0.01 secs]
          當關閉掉的時候日志如下
          [Full GC (System.gc()) [PSYoungGen: 1843K->0K(35840K)] [ParOldGen: 0K->637K(81920K)] 1843K->637K(117760K), [Metaspace: 2658K->2658K(1056768K)], 0.0101733 secs] [Times: user=0.03 sys=0.01, real=0.01 secs]

          區別就是少了那次minor gc。而且后面都是fullgc。并不是old gc。

          想要了解更多的java應用技術那家加入我們吧!

      免費預約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 久久精品亚洲热综合一本奇米 | 亚洲精品少妇久久久久久 | 色影音先锋国产资源 | 日本精品久久久久中文字幕 | 尤物欧美一区二区 | 久99中文在线视频 |