JVM調(diào)優(yōu)技巧都有什么

本篇文章給大家分享的是有關(guān)JVM調(diào)優(yōu)技巧都有什么,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

十多年的恩平網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。網(wǎng)絡(luò)營銷推廣的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整恩平建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)公司從事“恩平網(wǎng)站設(shè)計(jì)”,“恩平網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

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

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

廢話少說。從各方面一共收集到以下幾個(gè)方法:

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

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

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

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

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

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

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

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


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

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

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

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

◆以下是幾個(gè)寫程序時(shí),應(yīng)該注意的地方。也可減小GC,提高JVM性能。

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

因?yàn)樗鼤?huì)產(chǎn)生FullGC。

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

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

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

finalize()會(huì)增加GC的負(fù)擔(dān),使用java.lang.ref代替。

以上就是JVM調(diào)優(yōu)技巧都有什么,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)頁題目:JVM調(diào)優(yōu)技巧都有什么
鏈接地址:http://bm7419.com/article34/gocgse.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化用戶體驗(yàn)、企業(yè)建站、微信小程序、域名注冊(cè)品牌網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)