Java 命令

1、java.exe:
======================
运行java程序,这个相信每一位用Java的人知道了。



2、javac.exe:
======================
编译的Java程序,生成.class文件



3、javaw.exe:
======================
功能:

跟java命令相对的,可以运行.class文件,主要用来执行图形界面的java程序运行java命令时,会出现并保持一个console窗口,程序中 的信息可以通过System.out在console内输出,而运行javaw,开始时会出现console,当主程序调用之后,console就会消 失; javaw 大多用来运行GUI程序



4、javah
======================
功能说明:

C 头文件和 Stub 文件生成器。javah 从 Java 类生成 C 头文件和 C 源文件。这些文件提供了连接胶合,使 Java 和 C 代码可进行交互。

语法:

javah [ 命令选项 ] fully-qualified-classname. . .

javah_g [ 命令选项 ] fully-qualified-classname. . .

补充说明:

javah 生成实现本地方法所需的 C 头文件和源文件。C 程序用生成的头文件和源文件在本地源代码中引用某一对象的实例变量。.h 文件含有一个 struct 定义,该定义的布局与相应类的布局平行。该 struct 中的域对应于类中的实例变量。

头文件名以及在头文件中所声明的结构名都来源于类名。如果传给 javah 的类是在某个包中,则头文件名和结构名前都要冠以该包名。下划线 (_) 用作名称分隔符。

缺省情况下,javah 为每个在命令行中列出的类都创建一个头文件,且将该文件放在当前目录中。用 -stubs 选项创建源文件。用 -o 选项将所有列出类的结果串接成一个单一文件。

缺省情况下,javah 为每个在命令行中列出的类都创建一个头文件,且将该文件放在当前目录中。用 -stubs 选项创建源文件。用 -o 选项将所有列出类的结果串接成一个单一文件。

命令选项

-o[输出文件] 将命令行中列出的所有类的头文件或源文件串接到输出文件中。-o 或 -d 两个选项只能选择一个。

-d[目录] 设置 javah 保存头文件或 stub 文件的目录。-d 或 -o 两个选项只能选择一个。

-stubs 使 javah 从 Java 对象文件生成 C 声明。

-verbose 指明长格式输出,并使 javah 将所生成文件的有关状态的信息输出到标准输出设备中。

-help 输出 javah 用法的帮助信息。

-version 输出 javah 的版本信息。

-jni 使 javah 创建一输出文件,该文件包含 JNI 风格的本地方法函数原型。这是缺省输出,所以 -jni 的使用是可选的。

-classpath[路径] 指定 javah 用来查询类的路径。如果设置了该选项,它将覆盖缺省值或           CLASSPATH 环境变量。目录用冒号分隔。

-bootclasspath[路径] 指定加载自举类所用的路径。缺省情况下,自举类是实现核心 Java 平台的类,位于 jrelibt.jar 和 jrelibi18n.jar 中。

-old 指定应当生成旧 JDK1.0 风格的头文件。

-force 指定始终写输出文件。



5、javap
======================
功能说明:

Java 类文件解析器。

语法: javap [ 命令选项 ] class. . .

补充说明:

javap 命令用于解析类文件。其输出取决于所用的选项。若没有使用选项,javap 将输出传递给它的类的 public 域及方法。javap 将其输出到标准输出设备上。

命令选项

-help 输出 javap 的帮助信息。

-l 输出行及局部变量表。

-b 确保与 JDK 1.1 javap 的向后兼容性。

-public 只显示 public 类及成员。

-protected 只显示 protected 和 public 类及成员。

-package 只显示包、protected 和 public 类及成员。这是缺省设置。

-private 显示所有类和成员。

-J[flag] 直接将 flag 传给运行时系统。

-s 输出内部类型签名。

-c 输出类中各方法的未解析的代码,即构成 Java 字节码的指令。

-verbose 输出堆栈大小、各方法的 locals 及 args 数。

-classpath[路径] 指定 javap 用来查找类的路径。如果设置了该选项,则它将覆盖缺省值或 CLASSPATH 环境变量。目录用冒号分隔。

- bootclasspath[路径] 指定加载自举类所用的路径。缺省情况下,自举类是实现核心 Java 平台的类,位于 jrelib

t.jar 和 jrelibi18n.jar 中。

-extdirs[dirs] 覆盖搜索安装方式扩展的位置。扩展的缺省位置是 jrelibext。



6.jdb.exe
======================
功能:Java的一个命令行调试环境,既可在本地,也可在与远程的解释器的一次对话中执行。

用法:

jdb于本地机器中可用如下的命令启动:

C:/>jdb classname

当你使用-debug选项开始一个Java例程时, 必须提供给Jdb 一个密码, 这样 Jdb才能开始运转起来。下表包含了所有jdb命令。

选项 功能

catch calssID 为特定异常出口而中断

classes 列出当前已知的类

clear classID:line 清除一个断点

cont 从断点处继续执行

down[n frames] 下移一个线程的堆栈

dump ID[ID...] 显示所有对象信息

exit(或quit) 退出调试器

help(或?)  列出所有命令

ignore classID 忽略特定的异常出口

list[line number] 显示源代码

load classbame 载入要调试的Java类

locals 在当前堆栈帧中显示所有局部变量

memory 报告内存使用情况

methods classID 列出一个类的成员函数集

print ID[ID...] 列出对象或域

resume [threadID...] 恢复线程(默认情况恢复所有线程)

run class [args] 开始执行已下载的Java类

step 执行当前行

stop in classID:method 在一成员函数中设一断点

stop at classID:line 在一行设一断点 功能:

suspend[threadID...] 停止一个线程(默认情况停止所有线程)

hreads threadgroup 列出线程

thread threadID 设置当前线程

threadgroups 列出线程组

threadgroup name 设置当前线程组

up [n frames] 上移一个线程堆栈

use [path] 显示或改变源程序路径

where [threadID] or all 使一线程的堆线置空

!! 重复上一次命令

-host hostname 该命令告诉Jdb到哪里去建立远程运行的Java解释器对话过程

-password password 本选项告诉Jdb 用哪个密码去与远程运行的Java 对话进程相连接。 密码 password是由运行带有-debug选项的Java解释器所提供的。



7、javaws.exe
======================
功能:Java应用程序高速缓存查看器.

用法:具有图形界面,可以直接进行操作.



8、jconsole.exe
======================
功能:

J2SE监测和管理控制台---一个同JMX兼容的监测Java虚拟机的图形工具。其能够监视当地或者远程的Java虚拟机。

Java监视和管理控制台,JConsole使用JVM的可扩展性Java管理扩展(JMX)工具来提供关于运行于Java平台的应用程序的性能和资源消耗的信息。

在J2SE 5.0软件中,你需要启动使用-Dcom.sun.management.jmxremote选项监控的应用程序。注意:在Java SE 6软件中,不再有这一要求。当启动该应用程序时,不需要特定的命令行选项。

在生产系统中的应用,JConsole启动一个在被观察的Java程序的JVM内部的JMX代理。运行另外一部分代码仅有一点极微弱的影响-但是影响很小。

另外,尽管JConsole在监视本地应用程序的开发和快速原型开发中很有用,但在实际的应用系统中不推荐使用。理由是,JConsole本身也消耗 大量的系统资源。我们推荐的方法是用远程监控来把JConsole应用程序与被监控的系统加以隔离。因此,对于应用系统来说,以远程模式使用 JConsole更好些。对于安全的远程监控来说,可以使用安全选项。

用法:具有图形界面,可直接操作,查看摘要、内存、线程、类、MBean,VM的信息。



9、jps.exe
======================
功能:

java虚拟机进程状态工具---在目标系统上列出装备有HotSpot Java的虚拟机

启动了 Java 进程时,请使用 jps 工具来通过键入 jps 标识其 JVM。它向您提供一个正在运行的 Java 进程的列表,这些进程以其 JVM 作为 ID。

jps相当于Solaris进程工具ps。更多的信息,请参考《jps-Java Virtual Machine Process Status Tool》。不象"pgrep java"或"ps -ef | grep java",jps并不使用应用程序名来查找JVM实例。因此,它查找所有的Java应用程序,包括即使没有使用java执行体的那种(例如,定制的启动 器)。另外,jps仅查找当前用户的Java进程,而不是当前系统中的所有进程。

用法:

usage: jps [-help]

   jps [-q] [-mlvV] [<hostid>]

Definitions:

<hostid>:    <hostname>[:<port>]



10、jstat.exe
======================
功能:

JVM监控工具,java虚拟机统计监视工具---附加到一个装备了HotSpot的java虚拟机上来采集并且记录性能统计情况

jstat显示一个测量(instrumented)Java HotSpot虚拟机的性能统计信息(请参考《jstat-Java Virtual Machine Statistics Monitoring Tool》)。有关于性能计数器的更详细的信息请参考《Code sample-jvmstat 3.0》。

用法:详细用法 http://java.sun.com/j2se/1.5.0/docs/tooldocs/share/jstat.html



11、jstatd.exe
======================
功能:

java虚拟机的jstat守护程序---启动一个RMI服务器程序来监视各个HotSpot java虚拟机的创建和中止。并且提供了一个访问远程监视工具接入的接口。

jstatd是一个Java远程方法调用(RMI)服务器应用程序-它监控测量Java HotSpot虚拟机的创建和终止并且提供一个接口来允许远程监控工具依附到运行于本地主机的JVM(请参考《jstatd-Virtual Machine jstat Daemon》)。

在应用系统中的使用

jps及其它jvmstat实用程序都使用极为轻量级的观察机制。由JVM分配一小部分共享内存,而性能计数器也是从这部分内存中分配的。JVM子系 统基于其感兴趣的事件更新性能计数器。客户端工具仅仅负责异步地从共享内存段中进行读取。因此,总的来说,使用jvmstat进行监控的效果是很小的。

用法:详细见 http://java.sun.com/j2se/1.5.0/docs/tooldocs/share/jstatd.html



12-14、kinit.exe,klist.exe,ktab.exe
======================
功能:Java安全管理工具

用法:详见 http://java.sun.com/j2se/1.5.0/docs/tooldocs/#security



15、native2ascii.exe
======================
功能说明:

将含有本地编码字符(既非 Latin1 又非 Unicode 字符)的文件转换为 Unicode 编码字符的文件。

语法:

native2ascii [options] [inputfile [outputfile]]

补充说明:

Java 编译器和其它 Java 工具只能处理含有 Latin-1 和/或 Unicode 编码(udddd 记号)字符的文件。native2ascii 将含有其它字符编码的文件转换成含 Latin-1 和/或 Unicode 编码字符的文件。若省略 outputfile,则使用标准输出设备输出。此外,如果也省略 inputfile,则使用标准输入设备输入。

命令选项

-reverse 执行相反的操作:将含 Latin-1 和/或 Unicode 编码字符的文件转换成含本地编码字符的文件。

-encoding[encoding_name] 指定转换过程使用的编码名称。缺省的编码从系统属性 file.encoding 中得到。



16、ordb.exe
======================
用法:orbd <选项>

其中,<选项> 包括:

-port          启动 ORBD 的激活端口,缺省值为 1049 (可选)

-defaultdb       ORBD 文件的目录,缺省值为 "./orb.db" (可选)

-serverid       ORBD 的服务器标识符,缺省值为 1 (可选)

-ORBInitialPort     初始端口(必需)

-ORBInitialHost     初始主机名称(必需)

欢迎使用 Java IDL 服务器工具

请在提示处输入命令



17、idlj编译器用法:
======================
java com.sun.tools.corba.se.idl.toJavaPortable.Compile [选项] <idl 文件>

其中,<idl 文件> 是包含 IDL 定义的文件的名称,而[选项] 是以下所列选项的任一组合。这些选项是可选的并且可以以任意顺序显示;<idl 文件> 是必须的并且必须显示在最后。

选项:

-d <符号>                 等价于 IDL 文件中的以下行:

                        #define <符号>

-emitAll                发出所有类型,包括在 #included 文件中找到的那些类型。

-f<端>                    定义要发出的绑定。   <端> 是 client、

                         server、all、serverTIE 和 allTIE 中之一。   serverTIE

和 allTIE

                         将导致发出委托模型框架。如果未使用此

                         标志,则假设为 -fclient。

-i <包括路径>          默认情况下,搜索当前目录以获得其所包含的文件。

                         此选项将添加其他目录。

-keep                   如果要生成的文件已存在,则不

                         覆盖它。默认情况下会覆盖该文件。

-noWarn                抑制警告。

-oldImplBase              生成与旧(1.4 版之前)JDK ORB 兼容的框架。

-pkgPrefix <t> <前缀>     在文件范围内遇到类型或模块名称 <t> 时,

                         将为针对 <t> 所生成的所有文件的 Java 软件包名称

                         附加 <前缀>。

-pkgTranslate <t> <pkg> 在遇到类型或模块名称 <t> 时,

                         则在生成的 java 软件包中以 <pkg> 将其替换。请注意,

                         首先进行 pkgPrefix 更改。   <t> 必须与完整的

                         的软件包名称完全一致。另外,<t> 不能为

                         org、org.omg 或 org.omg 的任何子包。

-skeletonName <xxx%yyy> 根据模式命名框架。

                         默认值为:

                         适用于 POA 基类(-fserver 或 -fall)的 %POA

                         适用于 oldImplBase 基类

                         (-oldImplBase 和 [-fserver 或 -fall])的 %ImplBase。

-td <目录>             将 <目录> 而非

                         当前目录用作输出目录。

-tieName <xxx%yyy>        根据模式命名 tie。默认值为:

                         适用于 POA tie(-fserverTie 或 -fallTie)的 %POATie

                         适用于 oldImplBase tie

                         (-oldImplBase 和 [-fserverTie 或 -fallTie])的 %_Tie。

-v, -verbose              详细模式。

-version                显示版本号并退出。



18、servertool.exe
======================
可用命令:

-------------------

register - 注册一个可激活的服务器

unregister - 取消服务器注册

getserverid - 返回应用程序名称的服务器标识符

list    - 列举所有已注册服务器

listappnames - 列举当前定义的应用程序名称

listactive - 列举当前活动的服务器

locate     - 将已注册服务器定位在特定类型的端口

locateperorb - 为已注册服务器的特定对象请求代理程序定位端口。

orblist     - 对象请求代理程序 (orb) 名称及其映射列表

shutdown - 关闭一个已注册服务器

startup     - 启动一个已注册服务器

help    - 取得帮助

quit    - 退出此工具

servertool > quit



19、tnameserv.exe
======================
功能:提供命名服务的接口

用法:详见 http://java.sun.com/j2se/1.5.0/docs/tooldocs/#idl



20、rmic
======================
功能说明:

rmic 为远程对象生成 stub 和 skeleton。

语法:

rmic [ options ] package-qualified-class-name(s)

补充说明:

rmic 编译器根据编译后的 Java 类(含有远程对象实现)名,为远程对象生成 stub 和 skeleton(远程对象是指实现 java.rmi.Remote 接口的对象)。在 rmic 命令中所给的类必须是经 javac 命令成功编译且是完全包限定的类。

命令选项

-classpath[路径] 指定 rmic 用于查询类的路径。如果设置了该选项,它将覆盖缺省值或 CLASSPATH 环境变量。目录用冒号分隔。

-d[目录] 指定类层次的根目录。此选项可用来指定 stub 和 skeleton 文件的目标目录。

-depend 使编译器考虑重新编译从其它类引用的类。 一般来说,它只重新编译从源代码引用的遗漏或过期的类。

-g 允许生成调试表格。调试表格含有行号和局部变量的有关信息,即 Java 调试工具所使用的信息。缺省情况下,只生成行号。

-J 与 -D 选项联用,它将紧跟其后的选项( -J 与 -D 之间无空格)传给 java 解释器。

-keepgenerated 为 stub 和 skeleton 文件保留所生成的 .java 源文件,并将这些源文件写到与 .class 文件相同的目录中,如果要指定目录,则使用 -d 选项。

-nowarn 关闭警告。如果使用该选项,则编译器不输出任何警告信息。

-show 显示 rmic 编译器的 GUI(图形用户界面)。输入一个或多个包限定类名(以空格分隔),并按回车键或"显示"按钮,创建 stub 和 skeleton。

-vcompat (缺省值)创建与 JDK 1.1 和 1.2 stub 协议版本都兼容的 stub 和 skeleton。

-verbose 使编译器和链接器输出关于正在编译哪些类和正在加载哪些类文件的信息。

-v1.1 创建 JDK 1.1 stub 协议版本的 stub 和 skeleton。

-v1.2 只创建 JDK 1.2 stub 协议版本的 stub。



21、rmid
======================
功能说明:

rmid 启动激活系统守护进程,以便能够在 Java 虚拟机上注册和激活对象。

语法:

rmid [-port port] [-log dir]

补充说明:

rmid 工具启动激活系统守护进程。必须先启动激活系统守护进程,才能向激活系统注册可被激活的对象或在 Java 虚拟机上激活可被激活的对象。

命令选项

-C<某些命令行选项> 指定一个选项,在创建每个 rmid 的子守护进程(激活组)时,该选项以命令行参数的形式传给该子守护进程。

-log[目录] 指定目录的名称,激活系统守护进程在该目录中写入其数据库及相关信息。缺省状态下,将在执行 rmid 命令的目录中创建一个 log 目录。

-port[端口] 指定 rmid 的注册服务程序所使用的端口。激活系统守护进程将 ActivationSystem 与该注册服务程序中的名称java.rmi.activation.ActivationSystem 捆绑在一起。

-stop 停止 -port 选项所指定端口上的当前 rmid 调用。若未指定端口,则将停止在端口 1098 上运行的 rmid。


22、rmiregistry
======================
功能说明:

rmiregistry 命令可在当前主机的指定端口上启动远程对象注册服务程序。

语法:

rmiregistry [port]

补充说明:

rmiregistry 命令在当前主机的指定 port 上创建并启动远程对象注册服务程序。如果省略 port,则注册服务程序将在 1099 端口上启动。rmiregistry 命令不产生任何输出而且一般在后台运行。远程对象注册服务程序是自举命名服务。主机上的 RMI 服务器将利用它将远程对象绑定到名字上。客户机即可查询远程对象并进行远程方法调用。注册服务程序一般用于定位应用程序需调用其方法的第一个远程对象。该 对象反过来对各应用程序提供相应的支持,用于查找其它对象。java.rmi.registry.LocateRegistry 类的方法可用于在某台主机或主机和端口上获取注册服务程序操作。java.rmi.Naming 类的基于 URL 的方法将对注册服务程序进行操作,并可用于查询远程对象、将简单(字符串)名称绑定到远程对象、将新名称重新绑定到远程对象(覆盖旧绑定)、取消远程对象 的绑定以及列出绑定在注册服务程序上的 URL。



23、pack200.exe
======================
功能:Transforms a JAR file into a compressed pack200 file using the Java gzip compressor. The compressed packed files are highly compressed JARs, which can be directly deployed, saving bandwidth and reducing download time.

用法:详见 http://java.sun.com/j2se/1.5.0/docs/guide/deployment/deployment-guide/pack200.html

Usage:   pack200 [-opt... | --option=value]... x.pack[.gz] y.jar

Packing Options

   -g, --no-gzip                output a plain *.pack file with no zipping

   --gzip                          (default) post-process the pack output with gzip

   -G, --strip-debug             remove debugging attributes while packing

   -O, --no-keep-file-order        do not transmit file ordering information

   --keep-file-order             (default) preserve input file ordering

   -S{N}, --segment-limit={N}    output segment limit (default N=1Mb)

   -E{N}, --effort={N}          packing effort (default N=5)

   -H{h}, --deflate-hint={h}    transmit deflate hint: true, false, or keep (default)

   -m{V}, --modification-time={V}   transmit modtimes: latest or keep (default)

   -P{F}, --pass-file={F}       transmit the given input element(s) uncompressed

   -U{a}, --unknown-attribute={a}   unknown attribute action: error, strip, or pass (default)

   -C{N}={L}, --class-attribute={N}={L}   (user-defined attribute)

   -F{N}={L}, --field-attribute={N}={L}   (user-defined attribute)

   -M{N}={L}, --method-attribute={N}={L} (user-defined attribute)

   -D{N}={L}, --code-attribute={N}={L} (user-defined attribute)

   -f{F}, --config-file={F}        read file F for Pack200.Packer properties

   -v, --verbose                increase program verbosity

   -q, --quiet                   set verbosity to lowest level

   -l{F}, --log-file={F}           output to the given log file, or '-' for System.out

   -?, -h, --help                print this message

   -V, --version                print program version

   -J{X}                         pass option X to underlying Java VM

Notes:

   The -P, -C, -F, -M, and -D options accumulate.

   Example attribute definition:   -C SourceFile=RUH .

   Config. file properties are defined by the Pack200 API.

   For meaning of -S, -E, -H-, -m, -U values, see Pack200 API.

   Layout definitions (like RUH) are defined by JSR 200.

Repacking mode updates the JAR file with a pack/unpack cycle:

pack200 [-r|--repack] [-opt | --option=value]... [repackedy.jar] y.jar



24、unpack200.exe
======================
功能:Transforms a packed file produced by pack200 into a JAR file

用法:

Usage:   unpack200 [-opt... | --option=value]... x.pack[.gz] y.jar

Unpacking Options

   -H{h}, --deflate-hint={h}     override transmitted deflate hint: true, false,or keep (default)

   -r, --remove-pack-file        remove input file after unpacking

   -v, --verbose                 increase program verbosity

   -q, --quiet                set verbosity to lowest level

   -l{F}, --log-file={F}       output to the given log file, or '-' for standard output (default)

   -?, -h, --help             print this message

   -V, --version                 print program version

   -J{X}                      Java VM argument (ignored)



25、packager.exe
======================
功能:对象包装程序.

用法:具有图形界面与操作菜单.



26、policytool.exe
======================
功能:生成规则文件的工具

用法:有图形界面与操作菜单.

你可能感兴趣的:(java,虚拟机,服务器,File,工具,编译器)