java命令行介紹

1.總述

java命令用來啟動一個java應(yīng)用纯露。有以下兩種用法:

java [options] mainClass [args...]

java [options] -jar jarfile [args...]

第一種從指定的java類開始啟動,第二種從可運(yùn)行的jar開始啟動。java應(yīng)用啟動的過程有三個步驟,首先啟動java運(yùn)行時環(huán)境JRE,然后加載所需的類挽唉,最后調(diào)用類的main方法达传。

命令行的各部分含義如下:

options 由空格分隔的命令行選項零院,下一節(jié)詳細(xì)說明

mainClass 待啟動類包含包路徑的類全名,其中需要有main()方法

jarfile 待啟動的jar包的路徑名稱

args 傳給啟動類的main()方法的參數(shù)懒闷,用空格分開

2.命令行選項

java的命令行選項分為三類:

1.標(biāo)準(zhǔn)選項十减。jvm必須實現(xiàn)的選項,實現(xiàn)通用的功能愤估,如檢查運(yùn)行環(huán)境帮辟,檢查JRE的版本,設(shè)置類路徑等玩焰。

2.擴(kuò)展選項由驹。HotSpot虛擬機(jī)實現(xiàn)常用功能的選項,其他jvm不一定實現(xiàn)昔园。此類選項前綴為:-x

3,高級選項蔓榄。高級選項是開發(fā)者選項并炮,不保證在所有的jvm上實現(xiàn),并可能會改變甥郑。高級選項也可以分為如下四種類型:
1) 高級運(yùn)行時選項:控制jvm運(yùn)行時的行為
2) 高級維護(hù)性選項:支持收集系統(tǒng)信息和調(diào)試
3) 高級GC選項:控制jvm的垃圾收集行為
4) 高級JIT選項:控制jvm的及時編譯行為

3.標(biāo)準(zhǔn)選項

-version 打印版本信息然后退出逃魄,經(jīng)常使用該參數(shù)來打印java的版本或者驗證java是否可用。

-Dproperty=value 設(shè)置系統(tǒng)屬性的值澜搅。其中屬性名不能含喲空白字符伍俘,屬性值如果含有空白字符,需要用引號括起來勉躺。如下:

-Dhello="hello world" 該值可以在java程序中用如下代碼獲取:

System.getProperty("hello")

-server -client 指定jvm的模式癌瘾,client模式用于桌面應(yīng)用,server模式用于服務(wù)端應(yīng)用赂蕴。jvm對兩種模式有相應(yīng)的優(yōu)化柳弄,client模式加載速度快,可以快速啟動概说,server模式加載速度較慢但運(yùn)行起來快碧注。

-agentlib:libname[=options] 加載指定的native代理庫√桥猓可以指定多個庫萍丐,用,分隔。

4.擴(kuò)展選項

-Xmx size 指定堆的最大大小放典。如果指定2GB的最大堆逝变,可用如下任意方式表示:
-Xmx2G -Xmx2048m -Xmx2097152K - Xmx2147483648
此外,該選項等效于 -XX:MaxHeapSize

-Xms size 指定堆的初始化的大小奋构。對于server端的應(yīng)用壳影,建議將-Xmx-Xms設(shè)置為相同的值方可獲取更好的性能。如果不設(shè)置該值弥臼,那么該值默認(rèn)就為新生代和老年代的大小的和宴咧。

-Xmn size 指定堆中新生代的初始化的值。官方建議將該值設(shè)置為堆的最大值的25%-50%區(qū)間內(nèi)径缅。

-Xss size 指定線程棧的大小掺栅。該選項的默認(rèn)值隨操作系統(tǒng)的不同而不同。linux環(huán)境下默認(rèn)為1m纳猪,windows環(huán)境下取決于虛擬內(nèi)存的大小氧卧。該選項等效于 -XX:XX:ThreadStackSize

5.高級運(yùn)行時選項

-XX:MaxHeapSize=size 設(shè)置最大堆大小,見-Xmx

-XX:InitialHeapSize=size 設(shè)置初始堆大小氏堤,見-Xms

-XX:NewSize 設(shè)置新生代初始大小沙绝,見-Xmn

-XX:ThreadStackSize=size 設(shè)置線程棧大小,見-Xss

-XX:MaxMetaspaceSize=size 設(shè)置永久代大小,JDK8以下使用-XX:MaxPermSize=size

-XX:MaxDirectMemorySize=size 設(shè)置Java Nio可以使用的最大直接內(nèi)存宿饱。默認(rèn)情況下熏瞄,該選項值為0,JVM將會自主確定一個大小值谬以。

6.高級維護(hù)性選項

-XX:+HeapDumpOnOutOfMemoryError 開啟堆轉(zhuǎn)儲功能强饮。當(dāng)Java應(yīng)用拋出OutOfMemoryError異常時可以使用堆轉(zhuǎn)儲工具(HPROF)將Java堆存儲到文件中。默認(rèn)文件存儲在當(dāng)前路徑下为黎,文件名為java_pid[pid].hprof邮丰。此外,還可使用選項-XX:HeapDumpPath=path指定文件地址铭乾。一個示例如下(其中%p表示進(jìn)程PID):
-XX:HeapDumpPath=/data/log/java_pid%p.hprof

-XX:LogFile=path 設(shè)置日志文件的地址剪廉。默認(rèn)情況下,文件被寫到當(dāng)前目錄下炕檩,文件名為hotspot.log斗蒋。一個示例如下:
-XX:LogFile=/data/log/hotspot.log

-XX:OnOutOfMemoryError=string 設(shè)置發(fā)生OutOfMemoryError后執(zhí)行的處理命令,多個命令可使用分號;分隔笛质。如果命令中含有空格泉沾,需要使用雙引號"包裹命令。

本文只是列出了java命令行的部分命令妇押,更詳細(xì)的信息可參考官網(wǎng)介紹
java命令行指南

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末跷究,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子敲霍,更是在濱河造成了極大的恐慌俊马,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,590評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件肩杈,死亡現(xiàn)場離奇詭異柴我,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)扩然,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,157評論 3 399
  • 文/潘曉璐 我一進(jìn)店門屯换,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人与学,你說我怎么就攤上這事〖巫ィ” “怎么了索守?”我有些...
    開封第一講書人閱讀 169,301評論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長抑片。 經(jīng)常有香客問我卵佛,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,078評論 1 300
  • 正文 為了忘掉前任截汪,我火速辦了婚禮疾牲,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘衙解。我一直安慰自己阳柔,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 69,082評論 6 398
  • 文/花漫 我一把揭開白布蚓峦。 她就那樣靜靜地躺著舌剂,像睡著了一般。 火紅的嫁衣襯著肌膚如雪暑椰。 梳的紋絲不亂的頭發(fā)上霍转,一...
    開封第一講書人閱讀 52,682評論 1 312
  • 那天,我揣著相機(jī)與錄音一汽,去河邊找鬼避消。 笑死,一個胖子當(dāng)著我的面吹牛召夹,可吹牛的內(nèi)容都是我干的岩喷。 我是一名探鬼主播,決...
    沈念sama閱讀 41,155評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼戳鹅,長吁一口氣:“原來是場噩夢啊……” “哼均驶!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起枫虏,我...
    開封第一講書人閱讀 40,098評論 0 277
  • 序言:老撾萬榮一對情侶失蹤妇穴,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后隶债,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體腾它,經(jīng)...
    沈念sama閱讀 46,638評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,701評論 3 342
  • 正文 我和宋清朗相戀三年死讹,在試婚紗的時候發(fā)現(xiàn)自己被綠了瞒滴。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,852評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡赞警,死狀恐怖妓忍,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情愧旦,我是刑警寧澤世剖,帶...
    沈念sama閱讀 36,520評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站笤虫,受9級特大地震影響旁瘫,放射性物質(zhì)發(fā)生泄漏祖凫。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,181評論 3 335
  • 文/蒙蒙 一酬凳、第九天 我趴在偏房一處隱蔽的房頂上張望惠况。 院中可真熱鬧,春花似錦宁仔、人聲如沸稠屠。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,674評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽完箩。三九已至,卻和暖如春拉队,著一層夾襖步出監(jiān)牢的瞬間弊知,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,788評論 1 274
  • 我被黑心中介騙來泰國打工粱快, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留秩彤,地道東北人。 一個月前我還...
    沈念sama閱讀 49,279評論 3 379
  • 正文 我出身青樓事哭,卻偏偏與公主長得像漫雷,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子鳍咱,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,851評論 2 361

推薦閱讀更多精彩內(nèi)容

  • 1.總述 java命令用來啟動一個JAVA應(yīng)用降盹。有以下兩種用法: 第一種從指定JAVA類啟動,第二種從可運(yùn)行jar...
    Hypercube閱讀 11,019評論 2 12
  • 緊接前一文JAVA命令行工具(一)--JAVA谤辜,垃圾回收由于有較多選項蓄坏,所以單獨成篇,關(guān)于選項的通用描述可參見前文...
    Hypercube閱讀 3,143評論 1 1
  • Java 虛擬機(jī)有自己完善的硬件架構(gòu), 如處理器丑念、堆棧涡戳、寄存器等,還具有相應(yīng)的指令系統(tǒng)脯倚。JVM 屏蔽了與具體操作系...
    尹小凱閱讀 1,695評論 0 10
  • 好種子開花:我的師父送給我一份禮物渔彰。這份禮物是我一直都很喜歡的,價格很貴的東西推正。我還沒買呢』型浚現(xiàn)在師父送給我了。我好...
    暖陽照耀閱讀 197評論 0 0
  • 菩薩蠻 ? 又逢花落時文/梧桐 綿綿柳絮鶯啼絕植榕,絲絲細(xì)雨風(fēng)聲歇再沧。春色幾多留,翠華眉上愁内贮。 一杯離別酒产园,...
    樂健君閱讀 4,370評論 35 223