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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

JVM与JC

發布時間:2024/3/12 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JVM与JC 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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:+PrintGC
-XX:+PrintGCDetails
-XX:+PrintGCTimeStamps
-Xloggc:filename
并行收集器設置
-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被每個線程獨自擁有,其生存期和線程的生存期相同。

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

  • A brief history of garbage collection –
  • http://www-128.ibm.com/developerworks/java/library/j-jtp10283/
    2. Garbage collection in the HotSpot JVM –
    http://www-128.ibm.com/developerworks/java/library/j-jtp11253/
    3. Tuning Garbage Collection with the 5.0 JavaTM Virtual Machine
    http://java.sun.com/docs/hotspot/gc5.0/gc_tuning_5.html
    4. Diagnosing a GC problem –
    http://java.sun.com/docs/hotspot/gc1.4.2/example.html

    總結

    以上是生活随笔為你收集整理的JVM与JC的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    主站蜘蛛池模板: av2018| 欧美日韩人妻精品一区 | 天堂va蜜桃一区二区三区漫画版 | 成人综合激情 | 日本中文字幕在线 | 国产精品一区二区三区四区在线观看 | 中文在线а√天堂官网 | 精品少妇一区二区三区在线观看 | 日本吃奶摸下激烈网站动漫 | 婷婷色基地 | 3p在线播放 | 国产精品丝袜视频无码一区69 | 91精品国产91久久久久久 | 米奇影视第四色 | 天天干天天玩 | 欧美在线一级视频 | 欧美高清视频一区二区 | 久久综合亚洲色hezyo国产 | 手机看片午夜 | 这里只有精品视频在线观看 | 久久国产精品免费看 | 靠逼网站在线观看 | 国产一二视频 | 一区视频 | 欧美三级欧美一级 | 亚洲精品久 | 国产乱子伦精品无码专区 | 成人涩涩 | 亚洲一区三区 | 一起草视频在线播放 | 亚洲国产精品无码观看久久 | 在线观看av网站 | 久久精品国产99久久不卡 | 麻豆网| 让男按摩师摸好爽视频 | 日韩aa视频| 噼里啪啦免费高清看 | 啪啪av | 一级黄色免费 | 久久久69 | 一本久久久 | 一级片免费 | 久久黄色片视频 | 国产免费美女 | 成年女人毛片 | 国产一级免费在线观看 | 日本一区二区三区在线免费观看 | 欧美专区 日韩专区 | 黄色片aaaa | 国产精品久久久一区二区 | 在线免费av片 | 亚洲天堂免费av | 一级艳片新婚之夜 | 天天操精品 | 超91在线| 国产精品夜夜夜爽阿娇 | 在线播放a| 精产国品一二三产品蜜桃 | 精品熟妇一区二区三区 | jizz亚洲女人 | 欧美激情视频一区二区三区在线播放 | 午夜偷拍福利视频 | 欧美三级在线视频 | 色在线看 | 岳狂躁岳丰满少妇大叫 | 香蕉av一区二区三区 | 尤物在线观看 | 黑人乱码一区二区三区av | 美女av影院 | 激情六月天婷婷 | 久插网| 性av网 | 公侵犯人妻一区二区 | 亚洲妇熟xx妇色黄蜜桃 | 国内精品福利视频 | 在线午夜电影 | 午夜福利一区二区三区 | 亚洲国产婷婷香蕉久久久久久99 | 丰满少妇影院 | 亚洲综合久久av | 国产精品久久影院 | 91成人在线 | 国产精品视频h | 好吊视频在线观看 | 蜜臀av一区二区三区有限公司 | 欧美性大战久久久久久久蜜桃 | 欧美猛男gaygay| 亚洲污网站 | 91精品综合久久 | 日韩av不卡一区 | 国产91视频播放 | 999这里有精品 | 国产成人自拍网 | 日韩黄色在线播放 | 亚洲精品在线免费观看视频 | 91羞羞网站| 少妇又紧又色又爽又刺激视频 | 一区二区三区四区视频 | xxx毛片 |