Java虛擬機(jī)幾個(gè)命令行參數(shù)說明
一、運(yùn)行class文件
執(zhí)行帶main方法的class文件,Java虛擬機(jī)命令參數(shù)行為:
java <CLASS文件名>
注意:CLASS文件名不要帶文件后綴.class
例如:
java Test
如果執(zhí)行的class文件是帶包的,即在類文件中使用了:
package <包名>
那應(yīng)該在包的基路徑下執(zhí)行,Java虛擬機(jī)命令行參數(shù):
java <包名>.CLASS文件名
例如:
PackageTest.java中,其包名為:com.ee2ee.test,對(duì)應(yīng)的語句為:
package com.ee2ee.test;
PackageTest.java及編譯后的class文件PackageTest.class的存放目錄如下:
classes
|__com
|__ee2ee
|__test
|__PackageTest.java
|__PackageTest.class
要運(yùn)行PackageTest.class,應(yīng)在classes目錄下執(zhí)行:
java com.ee2ee.test.PackageTest
二、運(yùn)行jar文件中的class
原理和運(yùn)行class文件一樣,只需加上參數(shù)-cp <jar文件名>即可。
例如:執(zhí)行test.jar中的類com.ee2ee.test.PackageTest,命令行如下:
java -cp test.jar com.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)存,比如超過了默認(rèn)的最大值128MB,需要加大java虛擬機(jī)可使用的最大內(nèi)存,否則會(huì)出現(xiàn)Out of Memory(系統(tǒng)內(nèi)存不足)的異常。啟動(dòng)java時(shí),需要使用如下兩個(gè)參數(shù):
-Xms java虛擬機(jī)初始化時(shí)使用的內(nèi)存大小
-Xmx java虛擬機(jī)可以使用的最大內(nèi)存
以上兩個(gè)命令行參數(shù)中設(shè)置的size,可以帶單位,例如:256m表示256MB
舉例說明:
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'
【編輯推薦】