日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java 虚拟机 新生代与老年代gc_java 虚拟机--新生代与老年代GC

發布時間:2023/12/15 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 虚拟机 新生代与老年代gc_java 虚拟机--新生代与老年代GC 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. Java堆中各代分布:

圖1:Java堆中各代分布

Young:主要是用來存放新生的對象。

Old:主要存放應用程序中生命周期長的內存對象。

Permanent:是指內存的永久保存區域,主要存放Class和Meta的信息,Class在被 Load的時候被放入PermGen space區域. 它和和存放Instance的Heap區域不同,GC(Garbage Collection)不會在主程序運行期對PermGen space進行清理,所以如果你的APP會LOAD很多CLASS的話,就很可能出現PermGen space錯誤。

2. JVM 使用的GC算法是什么?

分代收集。

即將內存分為幾個區域,將不同生命周期的對象放在不同區域里;

在GC收集的時候,頻繁收集生命周期短的區域(Young area);

比較少的收集生命周期比較長的區域(Old area);

基本不收集的永久區(Perm area)。

3. GC 和 Full GC 有什么區別?

GC(或Minor GC):收集 生命周期短的區域(Young area)。

Full GC (或Major GC):收集生命周期短的區域(Young area)和生命周期比較長的區域(Old area)對整個堆進行垃圾收集。

他們的收集算法不同,所以使用的時間也不同。 GC 效率也會比較高,我們要盡量減少 Full GC 的次數。 當顯示調用System.gc() 時,gc does a full collection(both young generation and tenured generation).

4. Minor GC后,Eden是空的嗎?

是的,Minor GC會把Eden中的所有活的對象都移到Survivor區域中,如果Survivor區中放不下,那么剩下的活的對象就被移到Old generation 中。

5. Garbage collection options(JDK1.4):

圖2:GC參數

堆設置

-Xms :初始堆大小

-Xmx :最大堆大小

-XX:NewSize=n :設置年輕代大小

-XX:NewRatio=n: 設置年輕代和年老代的比值。如:為3,表示年輕代與年老代比值為1:3,年輕代占整個年輕代年老代和的1/4

-XX:SurvivorRatio=n :年輕代中Eden區與兩個Survivor區的比值。注意Survivor區有兩個。如:3,表示Eden:Survivor=3:2,一個Survivor區占整個年輕代的1/5

-XX:MaxPermSize=n :設置持久代大小

收集器設置

-XX:+UseSerialGC :設置串行收集器

-XX:+UseParallelGC :設置并行收集器

-XX:+UseParalledlOldGC :設置并行年老代收集器

-XX:+UseConcMarkSweepGC :設置并發收集器

垃圾回收統計信息

-XX:+PrintHeapAtGC GC的heap詳情

-XX:+PrintGCDetails? GC詳情

-XX:+PrintGCTimeStamps? 打印GC時間信息

-XX:+PrintTenuringDistribution??? 打印年齡信息等

-XX:+HandlePromotionFailure?? 老年代分配擔保(true? or false)

并行收集器設置

-XX:ParallelGCThreads=n :設置并行收集器收集時使用的CPU數。并行收集線程數。

-XX:MaxGCPauseMillis=n :設置并行收集最大暫停時間

-XX:GCTimeRatio=n :設置垃圾回收時間占程序運行時間的百分比。公式為1/(1+n)

并發收集器設置

-XX:+CMSIncrementalMode :設置為增量模式。適用于單CPU情況。

-XX:ParallelGCThreads=n :設置并發收集器年輕代收集方式為并行收集時,使用的CPU數。并行收集線程數。

6. 例子:Heap size 設置

場景:在JAVA_HOME下demo/jfc/SwingSet2/目錄下執行下面的命令:

java -jar -Xmn4m -Xms16m -Xmx16m SwingSet2.jar

系統輸出:

Exception in thread "Image Fetcher 0" java.lang.OutOfMemoryError: Java heap space

Exception in thread "Image Fetcher 3" java.lang.OutOfMemoryError: Java heap space

Exception in thread "Image Fetcher 1" java.lang.OutOfMemoryError: Java heap space

Exception in thread “Image Fetcher 2” java.lang.OutOfMemoryError: Java heap space

調優:將-Xms和-Xmx選項設置為32m,而-Xmn為1/4的-Xmx值。

結果:執行java -jar –Xmn8m –Xms32m -Xmx32m SwingSet2.jar,系統正常運行。

7. JVM ?Runtime Data Area(運行時數據區):

圖3:JVM運行時數據區(一)

Heap:?JVM只有一個為所有線程所共享的堆,所有的類實例和數組都是在堆中創建的。

Method area:?JVM只有一個為所有的線程所共享的方法區。它存儲類結構,例如運行時常量池,成員和方法數據以及方法、構造方法的代碼。

Java Stacks:每個JVM線程擁有一個私有的棧。

Pc registers:?JVM可以同時支持運行多個線程,因此每個線程需要各自的PC(program?counter)寄存器。

Native method stacks:?保存native方法進入區域的地址?。

圖4:JVM運行時數據區(二)

Heap和Method area被所有線程共享,其生存期和JVM的生存期相同;Java Stacks、Pc registers、Native method stacks被每個線程獨自擁有,其生存期和線程的生存期相同。

8. 常見的內存泄露錯誤

很多開發人員都碰到過java.lang.OutOfMemoryError的錯誤。這種錯誤又分兩種:java.lang.OutOfMemoryError: Java heap space和java.lang.OutOfMemoryError: PermGen space。引起這種錯誤的原因可能是程序問題,也可能是是JVM參數配置問題引起的。若是參數問題,前者可以同過配置-Xms和-Xmx參數來設置,而后者可以通過配置?-XX:PermSize和-XX:MaxPermSize來設置。

9. 參考資料:

1.? A brief history of garbage collection –

2.? Garbage collection in the HotSpot JVM –

3.? Tuning Garbage Collection with the 5.0 JavaTM Virtual Machine

4.? Diagnosing a GC problem –

總結

以上是生活随笔為你收集整理的java 虚拟机 新生代与老年代gc_java 虚拟机--新生代与老年代GC的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产人澡人澡澡澡人碰视频 | 欧美一级免费视频 | 日韩黄色网址 | 密桃成熟时在线观看 | 日日操日日摸 | 亚洲黄色成人网 | 亚洲精品乱码久久久久久蜜桃欧美 | 亚洲精品国产精品乱码在线观看 | 男人干女人视频 | 亚洲欧美日韩一区二区三区在线观看 | 伊人影院视频 | 日韩久久不卡 | 以女性视角写的高h爽文 | 国产精品播放 | 国产人妻人伦精品1国产丝袜 | 天天久久久 | 国产精品国产三级国产aⅴ无密码 | av资源首页 | 国产 欧美 自拍 | av网站亚洲 | 成人免费视频网站 | 国产精品久久在线观看 | 亚洲激情在线观看 | www.99re7.com| 91网址在线 | www.av天天 | 中文字幕一区二区三区波野结 | 黑丝少妇喷水 | 久久午夜夜伦鲁鲁一区二区 | 最新国产在线 | 免费av资源 | 欧美成年视频 | 视频免费在线观看 | 高潮毛片无遮挡高清免费 | 撕开少妇裙子猛然进入 | 亚洲另类春色 | 国产精品无码一区二区无人区多人 | 精品黄色片 | 姑娘第5集在线观看免费好剧 | av网址网站| 亚洲无码久久久久 | 向日葵视频在线 | 亚洲综合小说 | 国产黄色av片 | 114国产精品久久免费观看 | 午夜福利视频 | 亚洲无人区码一码二码三码的含义 | 青青青在线观看视频 | 麻豆porn | 欧美性猛交xxxx黑人猛交 | 欧美老熟妇一区二区 | 日韩美女激情视频 | 国产精品久久久久久久久 | 天天成人 | 三级自拍视频 | 成年女人免费视频 | 天天狠天天插 | 午夜视频在线观看视频 | 精品视频一区二区三区四区五区 | 国产乡下妇女做爰毛片 | 午夜精品免费观看 | 日日射天天操 | 日本一区二区色 | 日韩在线观看一区二区 | 天天综合网久久综合网 | 国产一区二三区 | 麻豆视频传媒 | 欧美一区二区网站 | 欧美女优视频 | 国产一级片毛片 | 国产亚洲第一页 | 国产人成一区二区三区影院 | 美女网站免费视频 | 天堂a√在线 | 亚洲精品男人天堂 | 韩国明星乱淫(高h)小说 | 九九热精品 | 成人午夜一区二区 | 日韩精品在线视频观看 | 男女做爰猛烈刺激 | 巨胸爆乳美女露双奶头挤奶 | 国产一区二区三区91 | 精品九九视频 | 国产伦精品视频一区二区三区 | 永久av网站 | 国产高潮视频在线观看 | 黑丝啪啪| 亚洲在线免费观看视频 | 亚洲啪av永久无码精品放毛片 | 韩毛片 | 亚色在线 | 亚洲干干干 | 国产区第一页 | 99riav3国产精品视频 | 成人在线观看你懂的 | 精品久久中文字幕 | 国产日韩av在线 | 久久93 | 日韩性高潮 |