偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

JVM調(diào)優(yōu)技巧集錦

開發(fā) 后端
這里向大家描述一下JVM調(diào)優(yōu)技巧,在升級JVM版本時,如果能使用64-bit,使用64-bitJVM,另外對JVM堆內(nèi)的各個區(qū)域(young,old,perm)正確設置大小。

你對JVM調(diào)優(yōu)的方法了解多少,這里和大家分享幾個,比如要升級JVM版本,如果能使用64-bit,使用64-bitJVM?;旧蠜]什么好解釋的,很簡單將JVM升級到***的版本。如果你還是使用JDK1.4甚至是更早的JVM,那你首先要做的就是升級。

JVM調(diào)優(yōu)技巧總結

這篇是技巧性的文章,如果要找關于GC或者調(diào)整內(nèi)純的文章,看我其他幾篇文章。因為是JVM調(diào)優(yōu)總結,所以廢話少說。從各方面一共收集到以下幾個方法:

1.升級JVM版本。如果能使用64-bit,使用64-bitJVM。

基本上沒什么好解釋的,很簡單將JVM升級到***的版本。如果你還是使用JDK1.4甚至是更早的JVM,那你首先要做的就是升級。因為JVM從1.4->1.5->1.6可不是僅僅的版本號升級,或者僅僅往里面加了一堆新的語言特性,這么簡單。而是真正在JVM做了重大的改進,每次版本升級,都有巨大的性能升級。尤其是SUN認識到java是知己的全部的時候(夸張點,但連股票號都改成JAVA了,呵呵)。如果你經(jīng)常逛SUN的JVM論壇,你就會發(fā)現(xiàn)實際上JVM上的毛病是這么多。如果你因為各種原因,而不能升級到1.6,那你可以升級到該版本的***版。

2.選擇一個正確的GC(GargageCollection)。

由于當JAVA程序GC的時候,會停下當前程序。尤其FullGC的時候,會停留很長時間。一般對于GUI程序來說,是很難接受的(想想Eclipse暫停的時候)。JAVA5以后,開始自帶了好幾種GC,你可以選擇一個適合你的種類。有以下四種SerialCollector,Parallelcollector,ConcurrentCollector,TrainCollector(廢棄)。后面幾種時候使用并行收集,所以理論上有效率更高(要求你有超過2CUP,但是現(xiàn)在多核開始普及了,呵呵)。提示:更改GC種類以后要適當挺高JVM的內(nèi)存量。

3.正確設置內(nèi)存大小。進行JVM調(diào)優(yōu)時對JVM堆內(nèi)的各個區(qū)域(young,old,perm)正確設置大小。

這個是最困難的調(diào)整,因為這個調(diào)整會直接影響GC的效率。而且由于各個程序的類型不用,所以沒有一個通用的數(shù)據(jù)。除了幾個常用規(guī)則以外,需要使用工具(jstat,jvmstat,jconsole等等)仔細調(diào)整。下面會提到幾個常用的準則。通常使用一下幾個參數(shù)調(diào)整-Xms-Xmx-XX:MaxPermSize。

3.1調(diào)高-XX:NewRatio(NewSize/MaxNewSize)的值,會減少younggc的次數(shù),但會增加oldgc的時間。

3.2增加普通GC的方法(減小FullGC)。擴大young區(qū)域的大?。?**40%),并過大Survivor的區(qū)域。使得更多的object留在younggen。


4.減小類的使用量,注意類的load和unload,減少JSP頁數(shù)。

類實際上也是對象,會直接分配perm區(qū)域里,即使FullGC也會很少收集。JSP也會分配到perm區(qū)域里,效果同理。如果perm過大,超過XX:MaxPermSize值,會發(fā)生OutOfMemoryError:PermGenspace異常。解決方法是提高-XX:MaxPermSize值。

5.進行JVM調(diào)優(yōu)時避免使用-Xnoclassgc

6.如果是RMI程序,要注意調(diào)整RMIDGC的時間。

◆以下是幾個寫程序時,應該注意的地方。也可減小GC,提高JVM性能。

1.不要使用System.gc()方法。

因為它會產(chǎn)生FullGC。

2.盡可能少分配大的臨時對象(生命周期短的)

可能會直接分配到old區(qū)域里,old區(qū)域只有FullGC的時候會收集。

3.避免使用finalize()方法。

finalize()會增加GC的負擔,使用java.lang.ref代替。
 

【編輯推薦】

  1. 全面認識JVM垃圾回收機制
  2. JVM工作原理和特點探究
  3. 探索Java工作原理之JVM內(nèi)存回收
  4. 實例解析Linux平臺的JVM性能評測
  5. 深入JVM:ClassLoader相關知識簡介

 

 

責任編輯:佚名 來源: csdn.net
相關推薦

2010-09-25 13:05:07

JVM參數(shù)

2010-09-25 15:52:27

JVM內(nèi)存JVM

2010-09-17 17:02:24

JVM參數(shù)

2012-01-10 14:35:08

JavaJVM

2020-12-30 15:06:39

開發(fā)技能代碼

2017-07-21 08:55:13

TomcatJVM容器

2023-11-11 19:07:23

JVMJava

2022-11-30 08:17:41

JVM調(diào)優(yōu)技巧

2012-01-10 15:13:56

JavaJVM

2010-09-26 13:39:46

JVM調(diào)優(yōu)

2017-09-22 15:15:23

jvm調(diào)優(yōu)命令

2021-06-03 08:32:18

JVM調(diào)優(yōu)虛擬機

2017-10-17 14:02:30

jvm調(diào)優(yōu)工具

2024-12-04 15:49:29

2021-11-21 23:03:38

jvm調(diào)優(yōu)虛擬機

2010-09-27 09:23:42

JVM調(diào)優(yōu)

2010-03-04 10:56:52

JVM參數(shù)

2023-11-10 11:23:20

JVM內(nèi)存

2010-09-26 10:53:00

JVM內(nèi)存調(diào)優(yōu)設置

2012-01-10 14:18:40

JavaJVM
點贊
收藏

51CTO技術棧公眾號