JDK的命令具体解释操作
JDK的命令具体解释1
功能说明:
语法:
rmic [ options ] package-qualified-class-name(s)
补充说明:
rmic 编译器依据编译后的 Java 类(含有远程对象实现)名。为远程对象生成 stub 和 skeleton(远程对象是指实现 java.rmi.Remote 接口的对象)。
在 rmic 命令中所给的类必须是经 javac 命令成功编译且是全然包限定的类。
命令选项
-classpath[路径] 指定 rmic 用于查询类的路径。假设设置了该选项。它将覆盖缺省值或 CLASSPATH 环境变量。文件夹用冒号分隔。
-d[文件夹] 指定类层次的根文件夹。此选项可用来指定 stub 和 skeleton 文件的目标文件夹。
一般来说。它仅仅又一次编译从源码引用的遗漏或过期的类。
-g 同意生成调试表格。调试表格含有行号和局部变量的有关信息。即 Java 调试工具所使用的信息。缺省情况下,仅仅生成行号。
-J 与 -D 选项联用,它将紧跟其后的选项( -J 与 -D 之间无空格)传给 java 解释器。
-keepgenerated 为 stub 和 skeleton 文件保留所生成的 .java 源文件,并将这些源文件写到与 .class 文件同样的文件夹中。假设要指定文件夹,则使用 -d 选项。
-nowarn 关闭警告。假设使用该选项。则编译器不输出不论什么警告信息。
-show 显示 rmic 编译器的 GUI(图形用户界面)。
输入一个或多个包限定类名(以空格分隔)。并按回车键或“显示”button,创建 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。
rmid
功能说明:
rmid 启动激活系统守护进程。以便可以在 Java 虚拟机上注冊和激活对象。
语法:
补充说明:
必须先启动激活系统守护进程。才干向激活系统注冊可被激活的对象或在 Java 虚拟机上激活可被激活的对象。
命令选项
-C<某些命令行选项> 指定一个选项,在创建每一个 rmid 的子守护进程(激活组)时,该选项以命令行參数的形式传给该子守护进程。
-log[文件夹] 指定文件夹的名称,激活系统守护进程在该文件夹中写入其数据库及相关信息。缺省状态下。将在运行 rmid 命令的文件夹中创建一个 log 文件夹。
-port[端口] 指定 rmid 的注冊服务程序所使用的port。激活系统守护进程将 ActivationSystem 与该注冊服务程序中的名称java.rmi.activation.ActivationSystem 捆绑在一起。
-stop 停止 -port 选项所指定端口上的当前 rmid 调用。若未指定port。则将停止在port 1098 上执行的 rmid。
rmiregistry
功能说明:
rmiregistry 命令可在当前主机的指定port上启动远程对象注冊服务程序。
语法:
补充说明:
rmiregistry 命令在当前主机的指定 port 上创建并启动远程对象注冊服务程序。假设省略 port,则注冊服务程序将在 1099 port上启动。rmiregistry 命令不产生不论什么输出并且一般在后台执行。远程对象注冊服务程序是自举命名服务。主机上的 RMI server将利用它将远程对象绑定到名字上。客户机就可以查询远程对象并进行远程方法调用。注冊服务程序一般用于定位应用程序需调用其方法的第一个远程对象。该对象反过来对各应用程序提供对应的支持,用于查找其他对象。
java.rmi.registry.LocateRegistry 类的方法可用于在某台主机或主机和port上获取注冊服务程序操作。java.rmi.Naming 类的基于 URL 的方法将对注冊服务程序进行操作,并可用于查询远程对象、将简单(字符串)名称绑定到远程对象、将新名称又一次绑定到远程对象(覆盖旧绑定)、取消远程对象的绑定以及列出绑定在注冊服务程序上的 URL。
serialver
功能说明:
serialver 命令返回 serialVersionUID。
语法:
serialver [ 命令选项 ]
补充说明:
serialver 以适于拷贝到演变类的形式返回一个或多个类的 serialVersionUID。不带參数调用时,它输出使用方法行。
命令选项
-show 显示一个简单的用户界面。
输入完整的类名并按回车键或“显示”button可显示 serialVersionUID。
功能说明:
为 Java 归档 (JAR) 文件产生签名,并校验已签名的 JAR 文件的签名。
语法:
jarsigner [ 命令选项 ] jar-file alias
jarsigner -verify [ 命令选项 ] jar-file
补充说明:
1:为 Java 归档 (JAR) 文件签名
2:校验已签名的 JAR 文件的签名和完整性
命令选项
-keystore[url] 指定密钥仓库的 URL。
缺省值是用户的宿主文件夹中的 .keystore 文件,它由系统属性“user.home”决定。
-storetype[storetype] 指定要被实例化的密钥仓库类型。默认的密钥仓库类型是安全属性文件里 "keystore.type" 属性值所指定的那个类型,由 java.security.KeyStore 中的静态方法 getDefaultType 返回。
-storepass[password] 指定訪问密钥仓库所需的口令。这仅在签名(不是校验)JAR 文件时须要。
在这样的情况下,假设命令行中没有提供 -storepass 选项。用户将被提示输入口令。
-keypass[password] 指定用于保护密钥仓库项(由命令行中指定的别名标出)的私钥的口令。使用 jarsigner 为 JAR 文件签名时须要该口令。
假设命令行中没有提供口令。且所需的口令与密钥仓库的口令不同,则将提示用户输入它。
-sigfile[file] 指定用于生成 .SF 和 .DSA 文件的基本文件名称。
-signedjar[file] 指定用于已签名的 JAR 文件的名称。
-verify 假设它出如今命令行中,则指定的 JAR 文件将被校验,而不是签名。
假设校验成功,将显示“jar verified”。
假设试图校验未签名的 JAR 文件,或校验被不支持的算法(比如未安装 RSA 提供者时使用的 RSA)签名的 JAR 文件,则将有例如以下显示: "jar is unsigned. (signatures missing or not parsable)" 。
-certs 假设它与 -verify 和 -verbose 选项一起出如今命令行中。则输出将包含 JAR 文件的每一个签名人的证书信息。
-verbose 假设它出如今命令行中,则代表“verbose”模式,它使 jarsigner 在 JAR 签名或校验过程中输出额外信息。
-internalsf 过去,JAR 文件被签名时产生的 .DSA(签名块)文件包括一个同一时候产生的 .SF 文件(签名文件)的完整编码副本。
这样的做法已被更改。为了减小输出 JAR 文件的整个大小,缺省情况下 .DSA 文件不再包括 .SF 文件的副本。
可是假设 -internalsf 出如今命令行中。将採用旧的做法。该选项主要在測试时实用;实际上不应使用它,由于这样将消除实用的优化。
-sectionsonly 假设它出如今命令行中。则 JAR 文件被签名时生成的 .SF 文件(签名文件)将不包括含有整个清单文件的散列的头。
它仅包括 与 JAR 中每一个单独的源文件相关的信息和散列。
该选项主要在測试时实用;实际上不应使用它,由于这样将消除实用的优化。
-J[javaoption] 将指定的 javaoption 串直接传递到 Java 解释器。((jarsigner 实际上是解释器的一个 “wrapper”)。该选项不应含有不论什么空格。
它有助于调整运行环境或内存使用。要获得可用的解释器选项的清单。可在命令行键入 java -h 或 java -X。
功能说明:
管理由私钥和认证相关公钥的 X.509 证书链组成的密钥仓库(数据库)。还管理来自可信任实体的证书。
语法:
keytool [ 命令 ]
补充说明:
keytool 是个密钥和证书管理工具。它使用户可以管理自己的公钥/私钥对及相关证书,用于(通过数字签名)自我认证(用户向别的用户/服务认证自己)或数据完整性以及认证服务。它还同意用户储存他们的通信对等者的公钥(以证书形式)。
功能说明:
将含有本地编码字符(既非 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 中得到。
功能说明:
Java applet 浏览器。appletviewer 命令可在脱离万维网浏览器环境的情况下执行 applet。
语法:
appletviewer [ threads flag ] [ 命令选项 ] urls ...
补充说明:
appletviewer 命令连接到 url 所指向的文档或资源上。并在其自身的窗体中显示文档引用的每一个 applet。注意:假设 url 所指向的文档不引用不论什么带有 OBJECT、EMBED 或 APPLET 标记的 applet,那么 appletviewer 就不做不论什么事情。
命令选项
-debug 在 Java 调试器 jdb 中启动 appletviewer,使您能够调试文档中的 applet。
-encoding[编码名称] 指定输入 HTML 文件的编码名称。
-J[javaoption] 将 javaoption 字符串作为单个參数传给执行 appletviewer 的 Java 解释器。參数不能含有空格。
由多重參数组成的字符串,当中的每一个參数都必须曾经缀 -J 开头。该前缀以后将被除去。这在调整编译器的运行环境或内存使用时将非常实用。
功能说明:
extcheck 检測目标 jar 文件与当前安装方式扩展 jar 文件间的版本号冲突。
语法:
extcheck [ -verbose ] targetfile.jar
补充说明:
extcheck 有用程序检查指定 Jar 文件的标题和版本号与 JDK TM 软件中所安装的扩展是否有冲突。在安装某个扩展前,能够用该有用程序查看是否已安装了该扩展的同样版本号或更高的版本号。
extcheck 有用程序将 targetfile.jar 文件清单的 specification-title 和 specification-version 头与当前安装在扩展文件夹下全部 Jar 文件的相相应的头进行比較(缺省扩展文件夹为 jre/lib/ext)。extcheck 有用程序比較版本的方式与 java.lang.Package.isCompatibleWith 方法同样。若未检測到冲突,则返回代码为 0。假设扩展文件夹中不论什么一个 jar 文件的清单有同样的 specification-title 和同样的或更新的 specification-version 号,则返回非零错误代码。
假设 targetfile.jar 的清单中没有 specification-title 或 specification-version 属性。则相同返回非零错误代码。
命令选项
-verbose 对扩展文件夹中的 Jar 文件进行检查时,列出文件。
此外。还报告目标 jar 文件的清单属性及全部冲突的 jar 文件。
jar
功能说明:
Java归档工具
语法:
jar [ 命令选项 ] [manifest] destination input-file [input-files]
补充说明:
jar工具是个java应用程序,可将多个文件合并为单个JAR归档文件。
jar是个多用途的存档及压缩工具,它基于ZIP和ZLIB压缩格式。然而,设计jar的主要目的是便于将java applet或应用程序打包成单个归档文件。
将applet或应用程序的组件(.class 文件、图像和声音)合并成单个归档文件时,能够用java代理(如浏览器)在一次HTTP事务处理过程中对它们进行下载,而不是对每一个组件都要求一个新连接。这大大缩短了下载时间。
jar还能压缩文件。从而进一步提高了下载速度。此外,它同意applet的作者对文件里的各个项进行签名,因而可认证其来源。
命令选项
-c 在标准输出上创建新归档或空归档。
-t 在标准输出上列出内容表。
-x[file] 从标准输入提取全部文件,或仅仅提取指定的文件。假设省略了file,则提取全部文件;否则仅仅提取指定文件。
-f 第二个參数指定要处理的jar文件。
在-c(创建)情形中,第二个參数指的是要创建的jar文件的名称(不是在标准输出上)。
在-t(表(或-x(抽取)这两种情形中。第二个參数指定要列出或抽取的jar文件。
-v 在标准错误输出设备上生成长格式的输出结果。
-m 包含指定的现有清单文件里的清单信息。使用方法举例:“jar cmf myManifestFile myJarFile *.class”
-0 仅仅储存。不进行 ZIP 压缩。
-M 不创建项目的清单文件。
-u 通过加入文件或更改清单来更新现有的 JAR 文件。比如:“jar -uf foo.jar foo.class”将文件 foo.class 加入到现有的JAR文件foo.jar中,而“jar umf manifest foo.jar”则用manifest中的信息更新foo.jar的清单。
-C 在运行 jar 命令期间更改文件夹。
比如:“jar -uf foo.jar -C classes *”将classes文件夹内的全部文件加到foo.jar中。但不加入类文件夹本身。
程序演示样例
1:将当前文件夹下全部CLASS文件打包成新的JAR文件:
2:显示一个JAR文件里的文件列表
3:将当前文件夹下的全部文件添加到一个已经存在的JAR文件里
功能说明
Java API文档生成器从Java源文件生成API文档HTML页。
语法:
javadoc [ 命令选项 ] [ 包名 ] [ 源文件名称 ] [ @files ]
当中[ 包名 ]为用空格分隔的一系列包的名字,包名不同意使用通配符。如(*)。[ 源文件名称 ]为用空格分隔的一系列的源文件名称,源文件名称可包含路径和通配符。如(*)。[ @files ]是以不论什么次序包括包名和源文件的一个或多个文件。
补充说明
Javadoc解析Java源文件里的声明和文档凝视。并产生对应的HTML页缺省),描写叙述公有类、保护类、内部类、接口、构造函数、方法和域。
在实现时,Javadoc要求且依赖于java编译器完毕其工作。Javadoc调用部分javac编译声明部分,忽略成员实现。它建立类的内容丰富的内部表示,包含类层次和“使用”关系,然后从中生成HTML。Javadoc还从源码的文档凝视中获得用户提供的文档。
当Javadoc建立其内部文档结构时,它将载入全部引用的类。因为这一点,Javadoc必须能查找到全部引用的类,包含引导类、扩展类和用户类。
命令选项
-overview i>path/filename 指定javadoc应该从path/filename所指定的“源”文件里获取概述文档,并将它放到概述页中(overview-summary.html)。
当中path/filename 是相对于-sourcepath的相对路径名。
-public 仅仅显示公有类及成员。
-protected 仅仅显示受保护的和公有的类及成员。
这是缺省状态。
-package 仅仅显示包、受保护的和公有的类及成员。
-private 显示全部类和成员。
-help 显示联机帮助,它将列出这些javadoc和doclet命令行选项。
-doclet class 指定启动用于生成文档的docle 的类文件。该doclet定义了输出的内容和格式。
假设未使用-doclet选项。则javadoc使用标准doclet生成缺省HTML格式。该类必须包括start(Root)法。
该启动类的路径由 -docletpath选项定义。
-docletpath classpathlist 指定doclet类文件的路径。该类文件用-doclet选项指定。假设doclet已位于搜索路径中。则没有必要使用该选项。
-1.1 生成具实用Javadoc 1.1生成的文档的外观和功能的文档。也就是说。页的背景为灰色,用图像做页眉。使用bullet列表而不是表格,具有单层目的文件夹结构,不包括继承 API,不使?*** TML框架,而且不支持内部类。
该选项还自己主动将索引切割成每一个字母一个文件。假设想要这样的外观,则该选项比javadoc 1.1优越之处等于修正了一些错误。
当将包名传递到javadoc命令中时,指定定位源文件(.java)的搜索路径。
注意仅仅有当用 javadoc命令指定包名时才干使用sourcepath选项 -- 它将不会查找传递到javadoc命令中的.java文件。
假设省略-sourcepath,则javadoc使用类路径查找源文件。
-classpath classpathlist 指定javadoc将在当中查找引用类的路径 -- 引用类是指带文档的类加上它们引用的不论什么类。Javadoc将搜索指定路径的全部子文件夹。classpathlist能够包含多个路径,彼此用逗号分隔。
-bootclasspath classpathlist 指定自举类所在路径。它们名义上是Java平台类。这个bootclasspath是Javadoc将用来查找源文件和类文件的搜索路径的一部分。在 classpathlist中用冒号(:)分隔文件夹。
-extdirs dirlist 指定扩展类所在的文件夹。
它们是不论什么使用Java扩展机制的类。这个 extdirs是Javadoc将用来查找源文件和在文件的搜索路径的一部分。在dirlist中用冒号(:)分隔文件夹。
-verbose 在javadoc执行时提供更具体的信息。不使用verbose选项时,将显示载入源文件、生成文档(每一个源文件一条信息)和排序的信息。
verbose选项导致打印额外的信息,指定解析每一个java源文件的毫秒数。
-locale language_country_variant 指定javadoc在生成文档时使用的环境。
-encoding name 指定源文件编码名,比如EUCJIS/SJIS。假设未指定该选项。则使用平台缺省转换器。
-J[flag] 将flag直接传递给执行javadoc的执行时系统java。注意在J和flag之间不能有空格。
标准 Doclet 提供的选项
-d directory 指定javadoc保存生成的HTML件的目的文件夹。
省略该选项将导致把文件保存到当前文件夹中。当中directory能够是绝对路径或相对当前工作文件夹的相对路径。
-use 对每一个带文档类和包包含一个“使用方法”页。该页描写叙述使用给定类或包的不论什么 API 的包、类、方法、构造函数和域。
对于给定类 C,使用类 C 的不论什么东西将包含 C 的子类、声明为 C 的域、返回 C 的方法以及具有 C 类型參数的方法和构造函数。
-version 在生成文档中包含 @version 文本。缺省地将省略该文本。
-splitindex 将索引文件按字母切割成多个文件,每一个字母一个文件,再加上一个包括全部以非字母字符开头的索引项的文件。
-windowtitle[title] 指定放入 HTML
JDK的命令具体解释操作步骤2
执行java程序。
2、javac.exe:
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. . .
5、javap
功能说明:
Java 类文件解析器。
语法: javap [ 命令选项 ] class. . .
补充说明:
javap 命令用于解析类文件。
其输出取决于所用的选项。若没有使用选项,javap 将输出传递给它的类的 public 域及方法。javap 将其输出到标准输出设备上。
6.jdb.exe
功能:Java的一个命令行调试环境,既可在本地,也可在与远程的解释器的一次对话中运行。
使用方法:
jdb于本地机器中可用例如以下的命令启动:
C:\>jdb classname
当你使用-debug选项開始一个Java例程时, 必须提供给Jdb 一个password, 这样 Jdb才干開始运转起来。下表包括了全部jdb命令。
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》。
11、jstatd.exe
功能:
java虚拟机的jstat守护程序---启动一个RMIserver程序来监视各个HotSpot java虚拟机的创建和中止。而且提供了一个訪问远程监视工具接入的接口。
jstatd是一个Java远程方法调用(RMI)server应用程序-它监控測量Java HotSpot虚拟机的创建和终止而且提供一个接口来同意远程监控工具依附到执行于本地主机的JVM(请參考《jstatd-Virtual Machine jstat Daemon》)。
在应用系统中的使用
jps及其他jvmstat有用程序都使用极为轻量级的观察机制。
由JVM分配一小部分共享内存,而性能计数器也是从这部分内存中分配的。JVM子系统基于其感兴趣的事件更新性能计数器。
client工具只负责异步地从共享内存段中进行读取。因此,总的来说,使用jvmstat进行监控的效果是非常小的。
12-14、kinit.exe,klist.exe,ktab.exe
功能:Java安全管理工具
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 中得到。