程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> JDK工具 java命令詳解

JDK工具 java命令詳解

編輯:關於JAVA

Java命令也是SCJP必考內容,很有用處,即使你現在用的是IDE.

一、查看用法

C:\>Java -help

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

這個命令幫助是英文的,不知道JDK咋搞的,也不妨礙使用。

另外,這個命令的非標准選項也是很重要的,常常在JVM優化配置方面很關鍵,可以參看本人的JVM參數配置文章。

C:\myproject>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.

二、實踐

老規矩,主要看看裡面的參數(也叫開關)的使用。環境接著上篇Javac的環境。

1、無參數情況

2、-cp

運行Java要使用類的全名來運行。如果遇到文件夾,則需要-cp設置到頂級包下面,例如

3、-D

設置一個系統屬性,在運行時候,可以通過System.getPropertIEs()來獲取到。例如寫一段代碼:

package com.lavasoft;

import Java.util.PropertIEs;

/**

* 列舉系統的屬性

* User: leizhimin

* Date: 2008-11-12 21:25:08

*/

public class TestProperty {

public static void main(String[] args) {

//獲取系統屬性

Properties prop = System.getPropertIEs();

//輸出所有到一個流上,

prop.list(System.out);

}

}

如果在運行的時候加上一個參數-DmyProp=999999999,注意,中間不要添加任何空格。這樣就相當於設置了一個系統屬性myProp,其值為999999999.

一旦通過-DmyProp=999999999設置了這個系統屬性,在程序中就可以獲取到這個屬性。

3、程序入參

是在運行的時候,給main方法傳遞參數。為了測試先寫一個測試類。

package com.lavasoft;

/**

* 測試main方法的入參

* User: leizhimin

* Date: 2008-11-12 21:46:21

*/

public class TestMainVar {

public static void main(String[] args) {

System.out.println("入參列表如下:");

for(String arg:args){

System.out.println(arg);

}

}

}

4、其他的選項

有關選擇 客戶端/服務端VM、版本、運行在哪個版本下、是否使用斷言等一些不常用的選項。還可以查看

5、-verbose[:class|gc|jni]

查看虛擬機內部動作。

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved