一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

Java虛擬機(jī)(JVM)參數(shù)配置說明-熔巖-51CTO技術(shù)博客

 野薔薇1 2010-05-25

Java虛擬機(jī)(JVM)參數(shù)配置說明
 
在Java、J2EE大型應(yīng)用中,JVM非標(biāo)準(zhǔn)參數(shù)的配置直接關(guān)系到整個(gè)系統(tǒng)的性能。
JVM非標(biāo)準(zhǔn)參數(shù)指的是JVM底層的一些配置參數(shù),這些參數(shù)在一般開發(fā)中默認(rèn)即可,不需要任何配置。但是在生產(chǎn)環(huán)境中,為了提高性能,往往需要調(diào)整這些參數(shù),以求系統(tǒng)達(dá)到最佳新能。
另外這些參數(shù)的配置也是影響系統(tǒng)穩(wěn)定性的一個(gè)重要因素,相信大多數(shù)Java開發(fā)人員都見過“OutOfMemory”類型的錯(cuò)誤。呵呵,這其中很可能就是JVM參數(shù)配置不當(dāng)或者就沒有配置沒意識到配置引起的。
 
為了說明這些參數(shù),還需要說說JDK中的命令行工具一些知識做鋪墊。
 
首先看如何獲取這些命令配置信息說明:
假設(shè)你是windows平臺,你安裝了J2SDK,那么現(xiàn)在你從cmd控制臺窗口進(jìn)入J2SDK安裝目錄下的bin目錄,然后運(yùn)行java命令,出現(xiàn)如下結(jié)果,這些就是包括java.exe工具的和JVM的所有命令都在里面。
 
-----------------------------------------------------------------------
D:\j2sdk15\bin>java
Usage: java [-options] class [args...]
           (to execute a class)
   or  java [-options] -jar jarfile [args...]
           (to execute a jar file)
 
where options include:
    -client       to select the "client" VM
    -server       to select the "server" VM
    -hotspot      is a synonym for the "client" VM  [deprecated]
                  The default VM is client.
 
    -cp <class search path of directories and zip/jar files>
    -classpath <class search path of directories and zip/jar files>
                  A ; separated list of directories, JAR archives,
                  and ZIP archives to search for class files.
    -D<name>=<value>
                  set a system property
    -verbose[:class|gc|jni]
                  enable verbose output
    -version      print product version and exit
    -version:<value>
                  require the specified version to run
    -showversion  print product version and continue
    -jre-restrict-search | -jre-no-restrict-search
                  include/exclude user private JREs in the version search
    -? -help      print this help message
    -X            print help on non-standard options
    -ea[:<packagename>...|:<classname>]
    -enableassertions[:<packagename>...|:<classname>]
                  enable assertions
    -da[:<packagename>...|:<classname>]
    -disableassertions[:<packagename>...|:<classname>]
                  disable assertions
    -esa | -enablesystemassertions
                  enable system assertions
    -dsa | -disablesystemassertions
                  disable system assertions
    -agentlib:<libname>[=<options>]
                  load native agent library <libname>, e.g. -agentlib:hprof
                    see also, -agentlib:jdwp=help and -agentlib:hprof=help
    -agentpath:<pathname>[=<options>]
                  load native agent library by full pathname
    -javaagent:<jarpath>[=<options>]
                  load Java programming language agent, see java.lang.instrument
-----------------------------------------------------------------------
在控制臺輸出信息中,有個(gè)-X(注意是大寫)的命令,這個(gè)正是查看JVM配置參數(shù)的命令。
 
其次,用java -X 命令查看JVM的配置說明:
運(yùn)行后如下結(jié)果,這些就是配置JVM參數(shù)的秘密武器,這些信息都是英文的,為了方便閱讀,我根據(jù)自己的理解翻譯成中文了(不準(zhǔn)確的地方還請各位博友斧正)
-----------------------------------------------------------------------
D:\j2sdk15\bin>java -X
    -Xmixed           mixed mode execution (default)
    -Xint             interpreted mode execution only
    -Xbootclasspath:<directories and zip/jar files separated by ;>
                      set search path for bootstrap classes and resources
    -Xbootclasspath/a:<directories and zip/jar files separated by ;>
                      append to end of bootstrap class path
    -Xbootclasspath/p:<directories and zip/jar files separated by ;>
                      prepend in front of bootstrap class path
    -Xnoclassgc       disable class garbage collection
    -Xincgc           enable incremental garbage collection
    -Xloggc:<file>    log GC status to a file with time stamps
    -Xbatch           disable background compilation
    -Xms<size>        set initial Java heap size
    -Xmx<size>        set maximum Java heap size
    -Xss<size>        set java thread stack size
    -Xprof            output cpu profiling data
    -Xfuture          enable strictest checks, anticipating future default
    -Xrs              reduce use of OS signals by Java/VM (see documentation)
    -Xcheck:jni       perform additional checks for JNI functions
    -Xshare:off       do not attempt to use shared class data
    -Xshare:auto      use shared class data if possible (default)
    -Xshare:on        require using shared class data, otherwise fail.
 
The -X options are non-standard and subject to change without notice.
-----------------------------------------------------------------------
 
JVM配置參數(shù)中文說明:
-----------------------------------------------------------------------
1、-Xmixed           mixed mode execution (default)
 混合模式執(zhí)行
 
2、-Xint             interpreted mode execution only
 解釋模式執(zhí)行
 
3、-Xbootclasspath:<directories and zip/jar files separated by ;>
      set search path for bootstrap classes and resources
 設(shè)置zip/jar資源或者類(.class文件)存放目錄路徑
 
3、-Xbootclasspath/a:<directories and zip/jar files separated by ;>
      append to end of bootstrap class path
 追加zip/jar資源或者類(.class文件)存放目錄路徑
 
4、-Xbootclasspath/p:<directories and zip/jar files separated by ;>
      prepend in front of bootstrap class path
 預(yù)先加載zip/jar資源或者類(.class文件)存放目錄路徑
 
5、-Xnoclassgc       disable class garbage collection
 關(guān)閉類垃圾回收功能
 
6、-Xincgc           enable incremental garbage collection
 開啟類的垃圾回收功能
 
7、-Xloggc:<file>    log GC status to a file with time stamps
 記錄垃圾回日志到一個(gè)文件。
 
8、-Xbatch           disable background compilation
 關(guān)閉后臺編譯
 
9、-Xms<size>        set initial Java heap size
 設(shè)置JVM初始化堆內(nèi)存大小
 
10、-Xmx<size>        set maximum Java heap size
 設(shè)置JVM最大的堆內(nèi)存大小
 
11、-Xss<size>        set java thread stack size
 設(shè)置JVM棧內(nèi)存大小
 
12、-Xprof            output cpu profiling data
 輸入CPU概要表數(shù)據(jù)
 
13、-Xfuture          enable strictest checks, anticipating future default
 執(zhí)行嚴(yán)格的代碼檢查,預(yù)測可能出現(xiàn)的情況
 
14、-Xrs              reduce use of OS signals by Java/VM (see documentation)
 通過JVM還原操作系統(tǒng)信號
 
15、-Xcheck:jni       perform additional checks for JNI functions
 對JNI函數(shù)執(zhí)行檢查
 
16、-Xshare:off       do not attempt to use shared class data
 盡可能不去使用共享類的數(shù)據(jù)
 
17、-Xshare:auto      use shared class data if possible (default)
 盡可能的使用共享類的數(shù)據(jù)
 
18、-Xshare:on       require using shared class data, otherwise fail.
 盡可能的使用共享類的數(shù)據(jù),否則運(yùn)行失敗
 
The -X options are non-standard and subject to change without notice.
-----------------------------------------------------------------------
 
怎么用這這些參數(shù)呢?其實(shí)所有的命令行都是這么一用,下面我就給出一個(gè)最簡單的HelloWorl的例子來演示這個(gè)參數(shù)的用法,非常的簡單。
 
HelloWorld.java
-----------------------------------------------
public class  HelloWorld
{
 public static void main(String[] args)
 {
  System.out.println("Hello World!");
 }
}
 
編譯并運(yùn)行:
D:\j2sdk15\bin>javac HelloWorld.java
 
D:\j2sdk15\bin>java -Xms256M -Xmx512M HelloWorld
Hello World!
 
呵呵,這下滿足了吧!
 
實(shí)踐:在大型系統(tǒng)或者應(yīng)用中配置JVM參數(shù)
比如你配置IDE工具的參數(shù),常見的有IDEA、Eclipse,這個(gè)是在一個(gè)配置文件中指定即可。
如果你要在J2EE環(huán)境中配置這些參數(shù),那么你需要在J2EE應(yīng)用服務(wù)器或者Servlet容器相關(guān)啟動參數(shù)設(shè)置處指定,其啟動文件中來配置,Tomcat是在catalina.bat中配置,weblogic和websphere是在其他地方,具體我就說了,相信玩過的這些大型服務(wù)器的人都知道,沒玩過的看看這篇文章,玩玩就知道了,呵呵。
 
另外常常有人問到j(luò)dk的一些相關(guān)命令用法,其實(shí),當(dāng)你看到這里的時(shí)候,你應(yīng)該知道如何獲取這些命令的用法了。如果你還不會,那么,建議你去學(xué)學(xué)DOS,我是沒轍了。如果你會這些,還是沒有看明白,那么你趕緊學(xué)學(xué)英語吧,這樣你就能看懂了。
 
另外:我在最后給出常用的幾個(gè)Java命令行說明,以供參考:
 
(1)、javac
用法:javac <選項(xiàng)> <源文件>
其中,可能的選項(xiàng)包括:
  -g                         生成所有調(diào)試信息
  -g:none                    不生成任何調(diào)試信息
  -g:{lines,vars,source}     只生成某些調(diào)試信息
  -nowarn                    不生成任何警告
  -verbose                   輸出有關(guān)編譯器正在執(zhí)行的操作的消息
  -deprecation               輸出使用已過時(shí)的 API 的源位置
  -classpath <路徑>            指定查找用戶類文件的位置
  -cp <路徑>                   指定查找用戶類文件的位置
  -sourcepath <路徑>           指定查找輸入源文件的位置
  -bootclasspath <路徑>        覆蓋引導(dǎo)類文件的位置
  -extdirs <目錄>              覆蓋安裝的擴(kuò)展目錄的位置
  -endorseddirs <目錄>         覆蓋簽名的標(biāo)準(zhǔn)路徑的位置
  -d <目錄>                    指定存放生成的類文件的位置
  -encoding <編碼>             指定源文件使用的字符編碼
  -source <版本>               提供與指定版本的源兼容性
  -target <版本>               生成特定 VM 版本的類文件
  -version                   版本信息
  -help                      輸出標(biāo)準(zhǔn)選項(xiàng)的提要
  -X                         輸出非標(biāo)準(zhǔn)選項(xiàng)的提要
  -J<標(biāo)志>                     直接將 <標(biāo)志> 傳遞給運(yùn)行時(shí)系統(tǒng)
 
(2)、jar
用法:jar {ctxu}[vfm0Mi] [jar-文件] [manifest-文件] [-C 目錄] 文件名 ...
選項(xiàng):
    -c  創(chuàng)建新的存檔
    -t  列出存檔內(nèi)容的列表
    -x  展開存檔中的命名的(或所有的〕文件
    -u  更新已存在的存檔
    -v  生成詳細(xì)輸出到標(biāo)準(zhǔn)輸出上
    -f  指定存檔文件名
    -m  包含來自標(biāo)明文件的標(biāo)明信息
    -0  只存儲方式;未用ZIP壓縮格式
    -M  不產(chǎn)生所有項(xiàng)的清單(manifest〕文件
    -i  為指定的jar文件產(chǎn)生索引信息
    -C  改變到指定的目錄,并且包含下列文件:
如果一個(gè)文件名是一個(gè)目錄,它將被遞歸處理。
清單(manifest〕文件名和存檔文件名都需要被指定,按'm' 和 'f'標(biāo)志指定的相同順序。
 
示例1:將兩個(gè)class文件存檔到一個(gè)名為 'classes.jar' 的存檔文件中:
       jar cvf classes.jar Foo.class Bar.class
示例2:用一個(gè)存在的清單(manifest)文件 'mymanifest' 將 foo/ 目錄下的所有
           文件存檔到一個(gè)名為 'classes.jar' 的存檔文件中:
       jar cvfm classes.jar mymanifest -C foo/ .
 
(3)、javadoc
javadoc: 錯(cuò)誤 - 未指定軟件包或類。
用法:javadoc [選項(xiàng)] [軟件包名稱] [源文件] [@file]
-overview <文件>          讀取 HTML 文件的概述文檔
-public                   僅顯示公共類和成員
-protected                顯示受保護(hù)/公共類和成員(默認(rèn))
-package                  顯示軟件包/受保護(hù)/公共類和成員
-private                  顯示所有類和成員
-help                     顯示命令行選項(xiàng)并退出
-doclet <類>              通過替代 doclet 生成輸出
-docletpath <路徑>        指定查找 doclet 類文件的位置
-sourcepath <路徑列表>    指定查找源文件的位置
-classpath <路徑列表>     指定查找用戶類文件的位置
-exclude <軟件包列表>     指定要排除的軟件包的列表
-subpackages <子軟件包列表> 指定要遞歸裝入的子軟件包
-breakiterator            使用 BreakIterator 計(jì)算第 1 句
-bootclasspath <路徑列表> 覆蓋引導(dǎo)類加載器所裝入的
                          類文件的位置
-source <版本>            提供與指定版本的源兼容性
-extdirs <目錄列表>       覆蓋安裝的擴(kuò)展目錄的位置
-verbose                  輸出有關(guān) Javadoc 正在執(zhí)行的操作的消息
-locale <名稱>            要使用的語言環(huán)境,例如 en_US 或 en_US_WIN
-encoding <名稱>          源文件編碼名稱
-quiet                    不顯示狀態(tài)消息
-J<標(biāo)志>                  直接將 <標(biāo)志> 傳遞給運(yùn)行時(shí)系統(tǒng)
 
通過標(biāo)準(zhǔn) doclet 提供:
-d <目錄>                         輸出文件的目標(biāo)目錄
-use                              創(chuàng)建類和軟件包用法頁面
-version                          包含 @version 段
-author                           包含 @author 段
-docfilessubdirs                  遞歸復(fù)制文檔文件子目錄
-splitindex                       將索引分為每個(gè)字母對應(yīng)一個(gè)文件
-windowtitle <文本>               文檔的瀏覽器窗口標(biāo)題
-doctitle <html 代碼>             包含概述頁面的標(biāo)題
-header <html 代碼>               包含每個(gè)頁面的頁眉文本
-footer <html 代碼>               包含每個(gè)頁面的頁腳文本
-bottom <html 代碼>               包含每個(gè)頁面的底部文本
-link <url>                       創(chuàng)建指向位于 <url> 的 javadoc 輸出的鏈接
-linkoffline <url> <url2>         利用位于 <url2> 的軟件包列表鏈接至位于 <url>
的文檔
-excludedocfilessubdir <名稱 1>:..排除帶有給定名稱的所有文檔文件子目錄。
-group <名稱> <p1>:<p2>..         在概述頁面中,將指定的軟件包分組
-nocomment                        抑止描述和標(biāo)記,只生成聲明。
-nodeprecated                     不包含 @deprecated 信息
-noqualifier <名稱 1>:<名稱 2>:...從輸出中排除限定符的列表。
-nosince                          不包含 @since 信息
-notimestamp                      不包含隱藏時(shí)間戳
-nodeprecatedlist                 不生成已過時(shí)的列表
-notree                           不生成類分層結(jié)構(gòu)
-noindex                          不生成索引
-nohelp                           不生成幫助鏈接
-nonavbar                         不生成導(dǎo)航欄
-serialwarn                       生成有關(guān) @serial 標(biāo)記的警告
-tag <名稱>:<位置>:<標(biāo)題>         指定單個(gè)變量自定義標(biāo)記
-taglet                           要注冊的 Taglet 的全限定名稱
-tagletpath                       Taglet 的路徑
-charset <字符集>                 用于跨平臺查看生成的文檔的字符集。
-helpfile <文件>                  包含幫助鏈接所鏈接到的文件
-linksource                       以 HTML 格式生成源
-sourcetab <制表符長度>           指定源中每個(gè)制表符占據(jù)的空格數(shù)
-keywords                         使軟件包、類和成員信息附帶 HTML 元標(biāo)記
-stylesheetfile <路徑>            用于更改生成文檔的樣式的文件
-docencoding <名稱>               輸出編碼名稱
 
(4)、rmid
rmid: 非法選項(xiàng):-?
用法:rmid <option>
 
其中,<option> 包括:
  -port <option>        指定供 rmid 使用的端口
  -log <directory>    指定 rmid 將日志寫入的目錄
  -stop               停止當(dāng)前的 rmid 調(diào)用(對指定端口)
  -C<runtime 標(biāo)記>    向每個(gè)子進(jìn)程傳遞參數(shù)(激活組)
  -J<runtime 標(biāo)記>    向 java 解釋程序傳遞參數(shù)
 
 
還有很多,下班了,放假了,HOHO,五一來了之后再寫吧!
 
有關(guān)更多的java命令可以參考一下這個(gè)文章:[url]http://ruruhuang./blog/47564[/url]
 
 

本文出自 “熔 巖” 博客,轉(zhuǎn)載請與作者聯(lián)系!

本文出自 51CTO.COM技術(shù)博客



 

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    又大又长又粗又黄国产| 欧美一区二区三区五月婷婷| 国产精品尹人香蕉综合网| 欧美日韩少妇精品专区性色| 久久免费精品拍拍一区二区| 内射精品欧美一区二区三区久久久| 中文字幕一二区在线观看| 精品久久少妇激情视频| 亚洲一区二区三区中文久久| 欧美一区二区日韩一区二区| 久久国产人妻一区二区免费| 亚洲一区二区三区日韩91| 欧美午夜色视频国产精品| 国产精品一区二区视频成人| 国产精品一区二区视频成人| 男女激情视频在线免费观看| 99久久婷婷国产亚洲综合精品| 欧美一本在线免费观看| 亚洲中文字幕在线观看四区| 丰满少妇被猛烈插入在线观看 | 五月婷婷六月丁香狠狠| 午夜久久久精品国产精品| 99久久精品免费精品国产| 国产精品香蕉免费手机视频| 国内九一激情白浆发布| 人妻巨大乳一二三区麻豆| a久久天堂国产毛片精品| 精品日韩欧美一区久久| 黄色片国产一区二区三区| 夜夜躁狠狠躁日日躁视频黑人| 日本本亚洲三级在线播放| 日韩aa一区二区三区| 欧美一级不卡视频在线观看| 成人亚洲国产精品一区不卡| 日韩欧美一区二区黄色| 国产色第一区不卡高清| 欧美一级黄片欧美精品| 国产亚洲精品俞拍视频福利区| 亚洲第一香蕉视频在线| 国产免费一区二区三区av大片 | 91欧美一区二区三区|