成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

全面認識JVM垃圾回收機制

開發 后端
JVM使用的是分代垃圾回收的方式,主要是因為在程序運行的時候會有兩大特點,第一:大多數對象在創建后很快就沒有對象使用它了,第二就是大多數在一直被使用的對象很少再去引用新創建的對象。

這里向大家簡單介紹一下JVM垃圾回收的相關知識,JVM使用的是分代垃圾回收的方式,可以將Java對象分為"年輕"對象和"年老"對象,JVM將內存堆(Heap)分為兩個區域,一個是"年輕"區,另一個是"老"區,Java將這兩個區域分別稱作是"新生代"和"老生代"。

JVM垃圾回收的相關知識

JVM使用的是分代垃圾回收的方式,主要是因為在程序運行的時候會有如下特點:

◆大多數對象在創建后很快就沒有對象使用它了。

◆大多數在一直被使用的對象很少再去引用新創建的對象。

因此就將Java對象分為"年輕"對象和"年老"對象,JVM將內存堆(Heap)分為兩個區域,一個是"年輕"區,另一個是"老"區,Java將這兩個區域分別稱作是"新生代"和"老生代"。

"新生代"區域中,絕大多數新創建的對象都存放在這個區域里,此區域一般來說較小而且JVM垃圾回收頻率較高,同時因為"新生代"采用的算法和其存放的對象的特點,使該區域JVM垃圾回收的效率也非常高。

而"老生代"區域中存放的是在"新生代"中生存了較長時間的對象,這些對象將被轉移到"老生代"區。這個區域一般要大一些而且增長的速度相對于"新生代"要慢一些,"老生代"JVM垃圾回收的執行頻率也會低很多。

由于JVM在JVM垃圾回收處理時會消耗一定的系統資源,因此有時候通過JVM啟動的時候添加相關參數來控制"新生代"區域的大小,來調整JVM垃圾回收處理的頻率非常有用。以便于我們更合理的利用系統資源。

"新生代"區域設置參數是"-Xmn",用這個參數可以制定"新生代"區域的大小。

我們來舉一個例子說明:

我們就用系統自帶的程序作為例子,在命令行上鍵入如下指令:

  1. CDC:\java\demo\jfc\SwingSet2[回車]C:\java\demo\jfc\SwingSet2> 
  2. java-jar-verbose:gc-Xmn4mXX:+PrintGCDetailsSwingSet2.jar[回車]  
  3.  
  4.  

 上面加入了一個新的參數"XX:+PrintGCDetails",這個參數能夠打印出GC的詳細信息。屏幕輸出如下(節選): 

  1. [GC[DefNew:3469K->84K(3712K),0.0007778secs]23035K-> 
  2. 19679K(28728K),0.0009191secs][GC[DefNew:3284K-> 
  3. 171K(3712K),0.0007283secs]22878K-> 
  4. 19766K(28728K),0.0008669secs][GC[DefNew:3476K->
  5. 260K(3712K),0.0008504secs]23071K-> 
  6. 19855K(28728K),0.0009862secs][GC[DefNew:3502K-> 
  7. 87K(3712K),0.0009267secs]23096K-> 
  8. 19682K(28728K),0.0010610secs]  

我們需要解釋一下輸出的詳細內容的意思,拿第一行輸出來說:

"DefNew:3469K->84K(3712K),0.0007778secs"是指"新生代"的JVM垃圾回收情況,這里的意思是從占用3469K內存空間變為84K內存空間,用時0.0007778秒。

"23035K->19679K(28728K),0.0009191secs"是指總體GC的回收情況,整體堆空間占用從23035K降低到19679K的水平,用時0.0009191秒。

那么,這時候我們在將"新生代"的內存設為8M,并把堆的最大可控值設定為32M,再去執行,鍵入如下指令:

  1. java-jar-verbose:gc-Xmn8m-Xmx32mXX:+PrintGCDetailsSwingSet2.jar[回車]  
  2.  

得到的結果如下(節選): 

  1. [GC[DefNew:6633K->6633K(7424K),0.0000684secs]
  2. [Tenured:18740K->18820K(24576K),0.0636505secs]25374K-> 
  3. 18820K(32000K),0.0639274secs][GC[DefNew:6646K-> 
  4. 6646K(7424K),0.0002581secs][Tenured:18820K-> 
  5. 18884K(24576K),0.0651957secs]25467K-> 
  6. 18884K(32000K),0.0658804secs][GC[DefNew:6611K-> 
  7. 6611K(7424K),0.0000668secs][Tenured:18884K-> 
  8. 18505K(24576K),0.0931406secs]25496K-> 
  9. 18505K(32000K),0.0934295secs]  

這個結果說明:

"[DefNew:6633K->6633K(7424K),0.0000684secs]"是指"新生代"的JVM垃圾回收情況,這里的意思是從占用6633K內存空間變為6633K內存空間,用時0.0000684秒。
"25374K->18820K(32000K),0.0639274secs"是指總體GC的回收情況,整體堆空間占用從25374K降低到18820K的水平,用時0.0639274秒。
"[Tenured:18740K->18820K(24576K),0.0636505secs]"是指"老生代"GC的回收情況,整體堆空間占用從18740K降低到18820K的水平,用時0.0009012秒。

通過這些參數的調整我們可以看到在處理垃圾收集問題時,從JVM垃圾回收的頻率是時間方面的變化,我們可以根據不同程序的不同情況予以調整。

最后有必要提一下GC的相關參數:

-XX:+PrintGCDetails顯示GC的詳細信息
-XX:+PrintGCApplicationConcurrentTime打印應用執行的時間
-XX:+PrintGCApplicationStoppedTime打印應用被暫停的時間
注:":"后的"+"號表示開啟此選項,如果是"-"號那么表示關閉此選項。
 

【編輯推薦】

  1. JVM垃圾回收機制使用秘笈
  2. JVM垃圾回收面臨的問題
  3. 調用weblogic設置jvmheap大小
  4. 詳解Tomcat配置JVM參數步驟
  5. 深入學習JVM內存設置原理和調優

 

 

責任編輯:佚名 來源: 51cto.com
相關推薦

2010-09-25 15:33:19

JVM垃圾回收

2021-05-27 21:47:12

Python垃圾回收

2010-09-16 15:10:24

JVM垃圾回收機制

2021-11-05 15:23:20

JVM回收算法

2010-09-26 16:42:04

JVM內存組成JVM垃圾回收

2010-10-13 10:24:38

垃圾回收機制JVMJava

2010-09-26 11:22:22

JVM垃圾回收JVM

2017-08-17 15:40:08

大數據Python垃圾回收機制

2017-03-03 09:26:48

PHP垃圾回收機制

2009-06-23 14:15:00

Java垃圾回收

2011-07-04 16:48:56

JAVA垃圾回收機制GC

2015-06-04 09:38:39

Java垃圾回收機

2017-06-12 17:38:32

Python垃圾回收引用

2011-06-28 12:39:34

Java垃圾回收

2009-12-09 17:28:34

PHP垃圾回收機制

2021-12-07 08:01:33

Javascript 垃圾回收機制前端

2011-12-26 09:50:05

.NET垃圾回收

2024-02-22 17:15:22

JS垃圾回收機制

2010-09-26 14:08:41

Java垃圾回收

2017-10-12 12:41:11

PHP圾回收機制變量容器
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久机热 | 欧美一区二区三区在线视频 | 中文字幕三区 | 国产精品99久久久久久www | 亚洲精品久 | 久久精品av麻豆的观看方式 | 精品国产一区二区三区免费 | 午夜不卡一区二区 | 午夜影院在线免费观看视频 | 在线永久看片免费的视频 | 日韩精品一区二区在线 | 久久99精品久久久久久琪琪 | 91精品久久久久久久久 | 中文字幕男人的天堂 | 久久精品一区二区 | 亚洲第一天堂无码专区 | 亚洲精品久久久久久下一站 | 一区二区三区免费网站 | 成人在线观看网址 | 成人影院午夜 | 国产成人综合在线 | 一区二区三区av | 欧美日韩一区二区三区四区 | 国产免费观看视频 | 在线免费黄色 | 精品久久久一区二区 | 亚洲精品日韩一区二区电影 | 欧美一区在线视频 | 国产真实精品久久二三区 | 久久国产精品-久久精品 | 精品www | 久久精品欧美一区二区三区不卡 | 九九av| 一区二区在线不卡 | 99热热热| 北条麻妃99精品青青久久 | 天堂成人国产精品一区 | 视频1区 | 精品国产一级 | 亚洲国产成人在线视频 | 亚洲成人第一页 |