av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

JVM啟動(dòng)參數(shù)的類別及使用

JVM啟動(dòng)參數(shù)還是比較實(shí)用的,于是我研究了一下它的用法,前段時(shí)間下了et項(xiàng)目,啟動(dòng)jBoss的時(shí)候出現(xiàn)了一個(gè)問(wèn)題,查了一下,發(fā)現(xiàn)是jBoss配置的JVM啟動(dòng)參數(shù)有問(wèn)題,總結(jié)了一下解決方案希望對(duì)你的學(xué)習(xí)有所幫助。

JVM啟動(dòng)參數(shù)小結(jié)

前段時(shí)間下了et項(xiàng)目,啟動(dòng)jBoss的時(shí)候出現(xiàn)了一個(gè)問(wèn)題,查了一下,發(fā)現(xiàn)是jBoss配置的JVM啟動(dòng)參數(shù)有問(wèn)題。后來(lái)發(fā)現(xiàn)很多人都遇到過(guò)類似的問(wèn)題。因此,在網(wǎng)上學(xué)習(xí)了相關(guān)資料以后,總結(jié)如下,希望以后對(duì)大家類似問(wèn)題的查錯(cuò)能夠有點(diǎn)用。

一:JVM啟動(dòng)參數(shù)共分為三類:

其一是標(biāo)準(zhǔn)參數(shù)(-),所有的JVM實(shí)現(xiàn)都必須實(shí)現(xiàn)這些參數(shù)的功能,而且向后兼容;
其二是非標(biāo)準(zhǔn)參數(shù)(-X),指的是JVM底層的一些配置參數(shù),這些參數(shù)在一般開(kāi)發(fā)中默認(rèn)即可,不需要任何配置。但是在生產(chǎn)環(huán)境中,并不保證所有jvm實(shí)現(xiàn)都滿足,所以為了提高性能,往往需要調(diào)整這些參數(shù),以求系統(tǒng)達(dá)到最佳性能。另外這些參數(shù)不保證向后兼容,也即是說(shuō)“如有變更,恕不在后續(xù)版本的JDK通知”(這是官網(wǎng)上的原話);
其三是非Stable參數(shù)(-XX),這類參數(shù)在jvm中是不穩(wěn)定的,不適合日常使用的,后續(xù)也是可能會(huì)在沒(méi)有通知的情況下就直接取消了,需要慎重使用。

二:JVM內(nèi)存三個(gè)主要的域:

新域、舊域以及永久域。JVM生成的所有新對(duì)象放在新域中。一旦對(duì)象經(jīng)歷了一定數(shù)量的垃圾收集循環(huán)后,便進(jìn)入舊域。而在永久域中是用來(lái)存儲(chǔ)JVM自己的反射對(duì)象的,如class和method對(duì)象,而且GC(GarbageCollection)不會(huì)在主程序運(yùn)行期對(duì)永久域進(jìn)行清理。其中新域和舊域?qū)儆诙?,永久域是一個(gè)獨(dú)立域并且不認(rèn)為是堆的一部分。

三:各主要JVM啟動(dòng)參數(shù)的作用如下:

-Xms:設(shè)置jvm內(nèi)存的初始大小
-Xmx:設(shè)置jvm內(nèi)存的最大值
-Xmn:設(shè)置新域的大小(這個(gè)似乎只對(duì)jdk1.4來(lái)說(shuō)是有效的,后來(lái)就廢棄了)
-Xss:設(shè)置每個(gè)線程的堆棧大小(也就是說(shuō),在相同物理內(nèi)存下,減小這個(gè)值能生成更多的線程)
-XX:NewRatio:設(shè)置新域與舊域之比,如-XX:NewRatio=4就表示新域與舊域之比為1:4
-XX:NewSize:設(shè)置新域的初始值
-XX:MaxNewSize:設(shè)置新域的最大值
-XX:MaxPermSize:設(shè)置永久域的最大值
-XX:SurvivorRatio=n:設(shè)置新域中Eden區(qū)與兩個(gè)Survivor區(qū)的比值。(Eden區(qū)主要是用來(lái)存放新生的對(duì)象,而兩個(gè)Survivor區(qū)則用來(lái)存放每次垃圾回收后存活下來(lái)的對(duì)象)

四:如何使用JVM啟動(dòng)參數(shù):

非常的簡(jiǎn)單。舉一個(gè)“HelloWorld”的例子

 
 
 
  1. publicclassHelloWorld  
  2. {  
  3. publicstaticvoidmain(String[]args)  
  4. {  
  5. System.out.println(”HelloWorld!”);  
  6. }  
  7. }  

 編譯并運(yùn)行:

 
 
 
  1. D:\work>javacHelloWorld.java  
  2. D:\work>java-Xms256M-Xmx512MHelloWorld  
  3. HelloWorld! 

這樣就可以了。

而如果你要在J2EE環(huán)境中配置這些參數(shù),那么你需要在J2EE應(yīng)用服務(wù)器或者Servlet容器相關(guān)啟動(dòng)參數(shù)設(shè)置處指定,在其啟動(dòng)文件中來(lái)配置,Tomcat是在catalina.bat中配置,JBoss是在run.bat中配置,其他服務(wù)器就不說(shuō)了。

五:JVM啟動(dòng)參數(shù)使用中常見(jiàn)的錯(cuò)誤:

java.lang.OutOfMemoryError相信很多開(kāi)發(fā)人員都用到過(guò),這個(gè)主要就是JVM參數(shù)沒(méi)有配好引起的,但是這種錯(cuò)誤又分兩種:java.lang.OutOfMemoryError:Javaheapspace和java.lang.OutOfMemoryError:PermGenspace,其中前者是有關(guān)堆內(nèi)存的內(nèi)存溢出,可以同過(guò)配置-Xms和-Xmx參數(shù)來(lái)設(shè)置,而后者是有關(guān)永久域的內(nèi)存溢出,可以通過(guò)配置-XX:MaxPermSize來(lái)設(shè)置。

【編輯推薦】

  1. 探究JVM1.6與JVM1.5性能差距
  2. 常見(jiàn)JVM監(jiān)控工具用法介紹
  3. 探索Java工作原理之JVM內(nèi)存回收
  4. 實(shí)例解析Linux平臺(tái)的JVM性能評(píng)測(cè)
  5. 深入JVM:ClassLoader相關(guān)知識(shí)簡(jiǎn)介

分享文章:JVM啟動(dòng)參數(shù)的類別及使用
URL網(wǎng)址:http://uogjgqi.cn/article/dhdscod.html
掃二維碼與項(xiàng)目經(jīng)理溝通

我們?cè)谖⑿派?4小時(shí)期待你的聲音

解答本文疑問(wèn)/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流