常見JAVA虛擬機(jī)命令行參數(shù)用法介紹
本文向大家描述一下幾個(gè)JAVA虛擬機(jī)命令行參數(shù)用法,主要包括運(yùn)行class文件,運(yùn)行jar文件中的class,顯示jdk版本信息等內(nèi)容,相信本文介紹一定會(huì)讓你有所收獲。
JAVA虛擬機(jī)幾個(gè)命令行參數(shù)說(shuō)明
一、運(yùn)行class文件
執(zhí)行帶main方法的class文件,命令行為:
java<CLASS文件名>
注意:CLASS文件名不要帶文件后綴.class
例如:
javaTest
如果執(zhí)行的class文件是帶包的,即在類文件中使用了:
- package<包名>
那應(yīng)該在包的基路徑下執(zhí)行,命令行為:
- java<包名>.CLASS文件名
例如:
PackageTest.java中,其包名為:com.ee2ee.test,對(duì)應(yīng)的語(yǔ)句為:
- packagecom.ee2ee.test;
PackageTest.java及編譯后的class文件PackageTest.class的存放目錄如下:
classes
|__com
|__ee2ee
|__test
|__PackageTest.java
|__PackageTest.class
要運(yùn)行PackageTest.class,應(yīng)在classes目錄下執(zhí)行:
- javacom.ee2ee.test.PackageTest
下面我們來(lái)看一下Java虛擬機(jī)第二個(gè)命令行參數(shù)的用法。
二、運(yùn)行jar文件中的class
原理和運(yùn)行class文件一樣,只需加上參數(shù)-cp<jar文件名>即可。
例如:執(zhí)行test.jar中的類com.ee2ee.test.PackageTest,命令行如下:
- java-cptest.jarcom.ee2ee.test.PackageTest
三、顯示jdk版本信息
當(dāng)一臺(tái)機(jī)器上有多個(gè)jdk版本時(shí),需要知道當(dāng)前使用的是那個(gè)版本的jdk,使用參數(shù)-version即可知道其版本,命令行為:
- java-version
四、增加虛擬機(jī)可以使用的***內(nèi)存
java虛擬機(jī)可使用的***內(nèi)存是有限制的,缺省值通常為64MB或128MB。
如果一個(gè)應(yīng)用程序?yàn)榱颂岣咝阅芏褦?shù)據(jù)加載內(nèi)存中而占用較大的內(nèi)存,比如超過(guò)了默認(rèn)的***值128MB,需要加大java虛擬機(jī)可使用的***內(nèi)存,否則會(huì)出現(xiàn)OutofMemory(系統(tǒng)內(nèi)存不足)的異常。啟動(dòng)java時(shí),需要使用如下兩個(gè)參數(shù):
-Xmsjava虛擬機(jī)初始化時(shí)使用的內(nèi)存大小
-Xmxjava虛擬機(jī)可以使用的***內(nèi)存
以上兩個(gè)參數(shù)中設(shè)置的size,可以帶單位,例如:256m表示256MB
舉例說(shuō)明:
java-Xms128m-Xmx256m...
表示java虛擬機(jī)初始化時(shí)使用的內(nèi)存為128MB,可使用的***內(nèi)存為256MB。
對(duì)于tomcat,可以修改其腳本catalina.sh(unix平臺(tái))或catalina.bat(windows平臺(tái)),設(shè)置變量JAVA_OPTS即可,例如:
- JAVA_OPTS='-Xms128m-Xmx256m'
【編輯推薦】
- 解析Java虛擬機(jī)概念及數(shù)據(jù)類型
- 深入學(xué)習(xí)JVM內(nèi)存設(shè)置原理和調(diào)優(yōu)
- 深入Java虛擬機(jī):JVM中的Stack和Heap
- 術(shù)語(yǔ)匯編 Java虛擬機(jī)概述
- 解決JVM Terminated.ExitCode=-1問(wèn)題行之有效的方法