日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java参数详解(转载)

發布時間:2025/3/14 java 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java参数详解(转载) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?1. Java VM?

??? 運行于linux平臺上的JVM會讀取/etc/sysconfig/i18n中的參數來決定輸出流的編碼方式,如果在安裝linux系統過程中沒有選擇中文,JVM就不能數據中文編碼的文字。打開/etc/sysconfig/i18n,注意這兩行:?
LANGUAGE="en_US.ISO8859" --該行指明了語言的編碼方式?
SUPPORTED="en_US.UTF-8:zh_CN.UTF-8:zh_CN.GB2312:zh.: " --該行指明了支持的編碼方式?
????如果i18n文件是這樣的那么JVM會按照其中指明的LANGUAGE參數來決定字符流的編碼方式,在這里就會按照ISO8859格式來編碼輸出,這時如果有中文需要顯示就會輸出亂碼。只需將i18N文件的LANGUAGE參數改為以下的格式即可顯示中文?
LANGUAGE=" zh_CN.GB2312"?或?LANGUAGE=" zh_CN.GBK" --GB2312是GBK的子集

2. Resource Bundle?
經過以上步驟EOS Server應可以正確顯示中文,但EOS調試服務器和EOS

Mgr Server使用了Resource Bundle文件來顯示字符,這時需要指定一個參數讓Resource Bundle能夠選擇正確的編碼方式。打開啟動EOS Server的腳本文件例如:?startWebLogic.sh或startTomcat.sh,在啟動的那一行將EOS_I18N2GB參數設置為true?
????在Java、J2EE大型應用中,JVM非標準參數的配置直接關系到整個系統的性能。?
????JVM非標準參數指的是JVM底層的一些配置參數,這些參數在一般開發中默認即可,不需要任何配置。但是在生產環境中,為了提高性能,往往需要調整這些參數,以求系統達到最佳新能。?
????另外這些參數的配置也是影響系統穩定性的一個重要因素,相信大多數Java開發人員都見過“OutOfMemory”類型的錯誤。呵呵,這其中很可能就是JVM參數配置不當或者就沒有配置沒意識到配置引起的。為了說明這些參數,還需要說說JDK中的命令行工具一些知識做鋪墊。?
首先看如何獲取這些命令配置信息說明:?
????假設你是windows平臺,你安裝了J2SDK,那么現在你從cmd控制臺窗口進入J2SDK安裝目錄下的bin目錄,然后運行java命令,出現如下結果,這些就是包括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?
??? -classpath?
????????????????? A ; separated list of directories, JAR archives,?
????????????????? and ZIP archives to search for class files.?
??? -D=?
????????????????? set a system property?
??? -verbose[:class|gc|jni]?
????????????????? enable verbose output?
??? -version????? print product version and exit?
??? -version:?
????????????????? 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[:...|:]?
??? -enableassertions[:...|:]???enable assertions?
??? -da[:...|:]?
??? -disableassertions[:...|:]??disable assertions?
??? -esa | -enablesystemassertions enable system assertions?
??? -dsa | -disablesystemassertions disable system assertions?
??? -agentlib:[=]?
????????????????? load native agent library ,

e.g. -agentlib:hprof see also,

-agentlib:jdwp=help and -agentlib:hprof=help?
-agentpath:[=] load native agent library by full pathname?
-javaagent:[=] load Java programming language agent,

see java.lang.instrument?
---------------------------------------------------------------------
在控制臺輸出信息中,有個-X(注意是大寫)的命令,這個正是查看JVM配置參數的命令。


其次,用java -X?命令查看JVM的配置說明:?
運行后如下結果,這些就是配置JVM參數的秘密武器,這些信息都是英文的,為了方便閱讀,我根據自己的理解翻譯成中文了(不準確的地方還請各位博友斧正)?
---------------------------------------------------------------------
D:\j2sdk15\bin>java -X?
??? -Xmixed?????????? mixed mode execution (default)?
??? -Xint???????????? interpreted mode execution only?
??? -Xbootclasspath: set search path for bootstrap classes and resources?
??? -Xbootclasspath/a: append to end of bootstrap class path?
??? -Xbootclasspath/p: prepend in front of bootstrap class path?
??? -Xnoclassgc?????? disable class garbage collection?
??? -Xincgc?????enable incremental garbage collection?
??? -Xloggc:??? log GC status to a file with time stamps?
??? -Xbatch?????disable background compilation?
??? -Xms??????? set initial Java heap size?
??? -Xmx??????? set maximum Java heap size?
??? -Xss??????? 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配置參數中文說明:?
---------------------------------------------------------------------
1、-Xmixed?????????? mixed mode execution (default)?
混合模式執行?
2、-Xint???????????? interpreted mode execution only?
解釋模式執行?
3、-Xbootclasspath:?
????? set search path for bootstrap classes and resources?
設置zip/jar資源或者類(.class文件)存放目錄路徑?
3、-Xbootclasspath/a:?
????? append to end of bootstrap class path?
追加zip/jar資源或者類(.class文件)存放目錄路徑?
4、-Xbootclasspath/p:?
????? prepend in front of bootstrap class path?
預先加載zip/jar資源或者類(.class文件)存放目錄路徑?
5、-Xnoclassgc?????? disable class garbage collection?
關閉類垃圾回收功能?
6、-Xincgc?????????? enable incremental garbage collection?
開啟類的垃圾回收功能?
7、-Xloggc:??? log GC status to a file with time stamps?
記錄垃圾回日志到一個文件。?
8、-Xbatch?????????? disable background compilation?
關閉后臺編譯?
9、-Xms??????? set initial Java heap size?
設置JVM初始化堆內存大小?
10、-Xmx??????? set maximum Java heap size?
設置JVM最大的堆內存大小?
11、-Xss??????? set java thread stack size?
設置JVM棧內存大小?
12、-Xprof??????????? output cpu profiling data?
輸入CPU概要表數據?
13、-Xfuture?????????enable strictest checks, anticipating future default?
執行嚴格的代碼檢查,預測可能出現的情況?
14、-Xrs?????????????reduce use of OS signals by Java/VM (see documentation)?通過JVM還原操作系統信號?
15、-Xcheck:jni?????? perform additional checks for JNI functions?
對JNI函數執行檢查?
16、-Xshare:off?????? do not attempt to use shared class data?
盡可能不去使用共享類的數據?
17、-Xshare:auto????? use shared class data if possible (default)?
盡可能的使用共享類的數據?
18、-Xshare:on?????? require using shared class data, otherwise fail.?
盡可能的使用共享類的數據,否則運行失敗?
The -X options are non-standard and subject to change without notice.?
---------------------------------------------------------------------
怎么用這這些參數呢?其實所有的命令行都是這么一用,下面我就給出一個最簡單的HelloWorl的例子來演示這個參數的用法,非常的簡單。?
HelloWorld.java?
-----------------------------------------------?
public class? HelloWorld {?
???public static void main(String[] args)?
??{?
?????System.out.println("Hello World!");?
???}?
}?
編譯并運行:?
D:\j2sdk15\bin>javac HelloWorld.java?
D:\j2sdk15\bin>java -Xms256M -Xmx512M HelloWorld?
Hello World!?
呵呵,這下滿足了吧!


實踐:在大型系統或者應用中配置JVM參數?
比如你配置IDE工具的參數,常見的有IDEA、Eclipse,這個是在一個配置文件中指定即可。?
如果你要在J2EE環境中配置這些參數,那么你需要在J2EE應用服務器或者Servlet容器相關啟動參數設置處指定,其啟動文件中來配置,?
Tomcat是在catalina.bat中配置,weblogic和websphere是在其他地方,具體我就說了,相信玩過的這些大型服務器的人都知道,沒玩過的看看這篇文章,玩玩就知道了,呵呵。?
????另外常常有人問到jdk的一些相關命令用法,其實,當你看到這里的時候,你應該知道如何獲取這些命令的用法了。如果你還不會,那么,建議你去學學DOS,我是沒轍了。如果你會這些,還是沒有看明白,那么你趕緊學學英語吧,這樣你就能看懂了。?
另外:我在最后給出常用的幾個Java命令行說明,以供參考:?
(1)、javac?
用法:javac <選項> <源文件>?
其中,可能的選項包括:?
? -g?????????????????????????生成所有調試信息?
? -g:none????????????????????不生成任何調試信息?
? -g:{lines,vars,source}?????只生成某些調試信息?
? -nowarn????????????????????不生成任何警告?
? -verbose???????????????????輸出有關編譯器正在執行的操作的消息?
? -deprecation???????????????輸出使用已過時的?API?的源位置?
? -classpath <路徑>????????????指定查找用戶類文件的位置?
? -cp <路徑>???????????????????指定查找用戶類文件的位置?
? -sourcepath <路徑>???????????指定查找輸入源文件的位置?
? -bootclasspath <路徑>????????覆蓋引導類文件的位置?
? -extdirs <目錄>??????????????覆蓋安裝的擴展目錄的位置?
? -endorseddirs <目錄>?????????覆蓋簽名的標準路徑的位置?
? -d <目錄>????????????????????指定存放生成的類文件的位置?
? -encoding <編碼>?????????????指定源文件使用的字符編碼?
? -source <版本>???????????????提供與指定版本的源兼容性?
? -target <版本>???????????????生成特定?VM?版本的類文件?
? -version???????????????????版本信息?
? -help??????????????????????輸出標準選項的提要?
? -X?????????????????????????輸出非標準選項的提要?
? -J<標志>?????????????????????直接將?<標志>?傳遞給運行時系統?
(2)、jar?
用法:jar {ctxu}[vfm0Mi] [jar-文件] [manifest-文件] [-C?目錄]?文件名?...?
選項:?
??? -c??創建新的存檔?
??? -t??列出存檔內容的列表?
??? -x??展開存檔中的命名的(或所有的〕文件?
??? -u??更新已存在的存檔?
??? -v??生成詳細輸出到標準輸出上?
??? -f??指定存檔文件名?
??? -m??包含來自標明文件的標明信息?
??? -0??只存儲方式;未用ZIP壓縮格式?
??? -M??不產生所有項的清單(manifest〕文件?
??? -i??為指定的jar文件產生索引信息?
??? -C??改變到指定的目錄,并且包含下列文件:?
如果一個文件名是一個目錄,它將被遞歸處理。?
清單(manifest〕文件名和存檔文件名都需要被指定,按'm'?和?'f'標志指定的相同順序。?
示例1:將兩個class文件存檔到一個名為?'classes.jar'?的存檔文件中:
?????? jar cvf classes.jar Foo.class Bar.class?
示例2:用一個下的所有?
???????????文件存檔到一個名為?'classes.jar'?的存檔文件中:?
?????? jar cvfm classes.jar mymanifest -C foo/ .?
(3)、javadoc?
javadoc:?錯誤?-?未指定軟件包或類。?
用法:javadoc [選項] [軟件包名稱] [源文件] [@file]?
-overview <文件>??????????讀取?HTML?文件的概述文檔?
-public???????????????????僅顯示公共類和成員?
-protected????????????????顯示受保護/公共類和成員(默認)
-package??????????????????顯示軟件包/受保護/公共類和成員?
-private??????????????????顯示所有類和成員?
-help?????????????????????顯示命令行選項并退出?
-doclet <類>??????????????通過替代?doclet?生成輸出?
-docletpath <路徑>????????指定查找?doclet?類文件的位置?
-sourcepath <路徑列表>????指定查找源文件的位置?
-classpath <路徑列表>?????指定查找用戶類文件的位置?
-exclude <軟件包列表>?????指定要排除的軟件包的列表?
-subpackages <子軟件包列表>?指定要遞歸裝入的子軟件包?
-breakiterator????????????使用?BreakIterator?計算第?1?句?
-bootclasspath <路徑列表>?覆蓋引導類加載器所裝入的?
??????????????????????????類文件的位置?
-source <版本>????????????提供與指定版本的源兼容性?
-extdirs <目錄列表>???????覆蓋安裝的擴展目錄的位置?
-verbose??????????????????輸出有關?Javadoc?正在執行的操作的消息?
-locale <名稱>????????????要使用的語言環境,例如?en_US?或?en_US_WIN?
-encoding <名稱>??????????源文件編碼名稱?
-quiet????????????????????不顯示狀態消息?
-J<標志>??????????????????直接將?<標志>?傳遞給運行時系統?
通過標準?doclet?提供:?
-d <目錄>?????????????????????????輸出文件的目標目錄?
-use??????????????????????????????創建類和軟件包用法頁面?
-version??????????????????????????包含?@version?段?
-author???????????????????????????包含?@author?段?
-docfilessubdirs??????????????????遞歸復制文檔文件子目錄?
-splitindex???????????????????????將索引分為每個字母對應一個文件?
-windowtitle <文本>???????????????文檔的瀏覽器窗口標題?
-doctitle??????????????包含概述頁面的標題?
-header????????????????包含每個頁面的頁眉文本?
-footer????????????????包含每個頁面的頁腳文本?
-bottom????????????????包含每個頁面的底部文本?
-link????????????????????????創建指向位于 的?javadoc?輸出的鏈接
-linkoffline??????????利用位于 的軟件包列表鏈接至位于的文檔?
-excludedocfilessubdir <名稱?1>:排除帶有給定名稱的所有文檔文件子目錄。?
-group <名稱> :..?????????在概述頁面中,將指定的軟件包分組?
-nocomment????????????????????????抑止描述和標記,只生成聲明。?
-nodeprecated?????????????????????不包含?@deprecated?信息?
-noqualifier <名稱?1>:<名稱?2>:...從輸出中排除限定符的列表。?
-nosince??????????????????????????不包含?@since?信息?
-notimestamp??????????????????????不包含隱藏時間戳?
-nodeprecatedlist?????????????????不生成已過時的列表?
-notree???????????????????????????不生成類分層結構?
-noindex??????????????????????????不生成索引?
-nohelp???????????????????????????不生成幫助鏈接?
-nonavbar?????????????????????????不生成導航欄?
-serialwarn???????????????????????生成有關?@serial?標記的警告?
-tag <名稱>:<位置>:<標題>?????????指定單個變量自定義標記?
-taglet???????????????????????????要注冊的?Taglet?的全限定名稱?
-tagletpath?????????????????????? Taglet?的路徑?
-charset <字符集>?????????????????用于跨平臺查看生成的文檔的字符集。
-helpfile <文件>??????????????????包含幫助鏈接所鏈接到的文件?
-linksource???????????????????????以?HTML?格式生成源?
-sourcetab <制表符長度>???????????指定源中每個制表符占據的空格數?
-keywords?????????????????????????使軟件包、類和成員信息附帶?HTML?元標

???????????????????記?
-stylesheetfile <路徑>????????????用于更改生成文檔的樣式的文件?
-docencoding <名稱>???????????????輸出編碼名稱?
(4)、rmid?
rmid:?非法選項:-??
用法:rmid?
其中, 包括:?
? -port?????????指定供?rmid?使用的端口?
? -log?????指定?rmid?將日志寫入的目錄?
? -stop???????????????停止當前的?rmid?調用(對指定端口)?
? -C????向每個子進程傳遞參數(激活組)

轉載于:https://www.cnblogs.com/diyunpeng/archive/2010/10/25/1860291.html

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的Java参数详解(转载)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。