JDK工具 java命令详解

转载 2012年03月28日 13:32:43

原文地址::http://java.e800.com.cn/articles/2009/211/1234334178378_1.html

 

相关网帖

1.Java命令详解(上)---- http://hubingforever.blog.163.com/blog/static/1710405792011324114234161/

 

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 <class search path of directories and zip/jar files>
-classpath <class search path of directories and zip/jar files>
A ; separated list of directories, JAR archives,
and ZIP archives to search for class files.
-D<name>=<value>
set a system property
-verbose[:class|gc|jni]
enable verbose output
-version print product version and exit
-version:<value>
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[:<packagename>...|:<classname>]
-enableassertions[:<packagename>...|:<classname>]
enable assertions
-da[:<packagename>...|:<classname>]
-disableassertions[:<packagename>...|:<classname>]
disable assertions
-esa | -enablesystemassertions
enable system assertions
-dsa | -disablesystemassertions
disable system assertions
-agentlib:<libname>[=<options>]
load native agent library <libname>, e.g. -agentlib:hprof
see also, -agentlib:jdwp=help and -agentlib:hprof=help
-agentpath:<pathname>[=<options>]
load native agent library by full pathname
-javaagent:<jarpath>[=<options>]
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:<directories and zip/jar files separated by ;>
set search path for bootstrap classes and resources
-Xbootclasspath/a:<directories and zip/jar files separated by ;>
append to end of bootstrap class path
-Xbootclasspath/p:<directories and zip/jar files separated by ;>
prepend in front of bootstrap class path
-Xnoclassgc disable class garbage collection
-Xincgc enable incremental garbage collection
-Xloggc:<file> log GC status to a file with time stamps
-Xbatch disable background compilation
-Xms<size> set initial Java heap size
-Xmx<size> set maximum Java heap size
-Xss<size> 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]
查看虚拟机内部动作。

深入理解JVM(三)-JDK命令行工具及可视化工具

对于C/C++开发者来说,他们在内存管理方面具有至高的权利,但是也承担着巨大的维护责任。而对于Java程序员来说,有了JVM(Java虚拟机)管理机制的帮助,再也不用担心内存泄漏和内存溢出问题了。因此...
  • dingji_ping
  • dingji_ping
  • 2016年03月30日 10:33
  • 1991

java环境配置(jdk环境变量配置 工具)

jave环境的配置(jdk配置) jdk官网下载 Windows x86 182.29 MB jdk-8u91-windows-i586.exe Windows x64 187.4 MB jdk...
  • scimence
  • scimence
  • 2016年06月24日 22:39
  • 1126

JDK工具 javac命令详解

JDK工具 javac命令详解   SCJP必考的内容,理解了这个对掌握IDE开发工具是很有帮助的。也不至于离开了IDE就不能写代码了。   这块内容很简单,但题不容易能做全对...
  • qq_20545159
  • qq_20545159
  • 2015年02月25日 15:09
  • 404

JDK工具 appletviewer命令详解

http://lavasoft.blog.51cto.com/62575/112594 JDK工具 appletviewer命令详解   非SCJP考试内容,很好玩。可以用来发开发A...
  • crazy_fire
  • crazy_fire
  • 2012年08月15日 14:59
  • 516

JDK/bin下工具列表说明及归纳

JDK/bin下工具列表说明 appletviewer.exe:一种执行HTML文件上的Java小程序类的Java浏览器 apt.exe:注解处理工具(Annotation Processing T...
  • CXHPLY
  • CXHPLY
  • 2015年10月21日 18:02
  • 2620

JDK自带工具概览

在我们平常对java程序进行问题排查、性能调优时,如果没有合适的工具,很多时候会事倍功半,甚至无法继续进行下去。其实,jdk自身已经提供了很多强大的工具供我们使用。本文就对这些工具做一个概览性的描述。...
  • a494303877
  • a494303877
  • 2016年12月09日 17:24
  • 1131

jdk中jar命令详解

简介:jar.exe是jdk中的自带的压缩解压工具,Eclipse中的Export功能可以到处jar包,或者可运行的jar包,都是用的jar.exe,只是做成了图形化的界面而已,当然jdk中也提供了压...
  • TheMeLove
  • TheMeLove
  • 2017年04月21日 10:53
  • 351

使用JDK工具检查运行系统是否存在内存泄露

转自:http://crane-ding.iteye.com/blog/715450     首先在实验之前,先给大家介绍几个jdk自带的工具:  1. jps  查看所有java进程的pid的命令,...
  • spyiu
  • spyiu
  • 2015年09月30日 15:00
  • 1673

JDK自带的汉字转换成Unicode工具

JDK自带的汉字转换成Unicode工具 native2ascii.exe 在jdk1.5.0\bin目录中 直接在cmd中输入命令: native2ascii 源文件名.txt 新文...
  • fanyuna
  • fanyuna
  • 2012年01月08日 11:27
  • 3126

JVM性能监控工具(一)-jdk命令行工具

概述当系统出bug需要定位问题的时候,知识、经验是关键基础,数据是依据,工具是运用知识处理数据的手段。这里所说的数据包括:运行日志,异常堆栈,GC日志,线程快照(threaddump/javacore...
  • FX_SKY
  • FX_SKY
  • 2016年05月19日 18:46
  • 2520
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JDK工具 java命令详解
举报原因:
原因补充:

(最多只允许输入30个字)