Java的开发人员肯定都知道JDK的bin目录中有“java.exe”和“javac.exe”这两个命令行工具,

但并非所有的Java程序员都了解过JDK的bin目录之中其它命令行程序的作用。
JDK1.6自带的工具就有42个之多。
 
   环境说明:操作系统 win7,JDK1.6
 bin目录的42个工具如图所示

  
常用的9种程序

1.javac.exe: Java编译器, 将Java源代码转换成字节码。

2.java.exe: Java解释器, 直接从class文件或者jar包执行Java应用程序代码。

 
3.jre.exe: 类似于Java解释器, 但是并不需要Java.exe所有与Java开发相关的选项。

4.appletviewer.exe: 小程序浏览器, 一种执行HTML文件上的Java小程序的Java浏览器。
5.javadoc.exe: 根据Java源码及说明语句生成HTML文档。

6.jdb.exe:Java调试器,可以逐行执行程序,设置断点和检查变量。
7.javah.exe:产生可以调用Java过程的C过程,或建立能被Java程序调用的C过程的头文件。

8.javap.exe:Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。

9.jar.exe:将Java类文件和其他资源文件捆绑成一个一的jar文件

其他程序

10.apt.exe :SolarisTM 操作系统和 Linux上用于处理注释的工具

11.extcheck.exe: extcheck 检测目标 jar 文件与当前安装方式扩展 jar 文件间的版本冲突。

12.htmlConverter.exe : Java插件 HTML 转换器是一种实用程序,可用于将任一包含小程序的 HTML 页面,转换为使用 Java插件的格式。

13.idlj.exe : 对idl文件进行解析,生成所需的java文件

14.jarsigner.exe: 为 Java 归档 (JAR) 文件产生签名,并校验已签名的 JAR 文件的签名

15.java-rmi: Java远程方法调用。即Java RMI(Java Remote Method Invocation)是Java编程语言里,一种用于实现远程过程调用的应用程序编程接口。它使客户机上运行的程序可以调用远程服务器上的对象。远程方法调用特性使Java编程人员能够在网络环境中分布操作。RMI全部的宗旨就是尽可能简化远程接口对象的使用。

16.javaws:用于启动和控制Web上的java是程序

17.jconsole:是一个基于JMX的GUI工具,用于连接正在运行的JVM,不过此JVM需要使用可管理的模式启动。

18.jhat:是一个Java堆复制浏览器。这个工具分析Java堆复制文件(例如,由上面的"jmap -dump"所产生的)。Jhat启动一个允许堆中的对象在web浏览器中进行分析的web服务器。这个工具并不是想用于应用系统中而是用于"离线"分 析。"jhat工具是平台独立的",其意思是,它可以被用来观察在任何平台上所产生的堆复制。例如,我们有可能在Linux系统上使用jhat来观察一个 在Solaris OS上所产生的堆复制。

19.jinfo:打印一个给定的Java进程或核心文件或一个远程调试服务器的Java配置信息。配置信息包括Java系统属性和JVM命令行标志

20.jrunscript:一个JS解释器

21.jstack:等价于Solaris的pstack工具。jstack打印所有的Java线程的堆栈跟踪信息(可选地包括本机帧信息)

22.jstat :显示一个测量(instrumented)Java HotSpot虚拟机的性能统计信息

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

24.keytool:是安全钥匙与证书的管理工具,它管理一个存储了私有钥匙和验证相应公共钥匙的与它们相关联的X.509 证书链的keystore

25.kint,klist,ktab:实现Kerberos用到的一些工具

26.native2ascii:用于转换字符或者文件的编码格式

27.orbd:用于实现corba接口(分布式应用)

28.pack200:对jar文件进行高效的压缩

29.packager: 将Jar文件包装成其他格式的文件

30.policytool:java中的策略管理

31.rmic:为远程调用编译生成远程调用时所需的文件

32.rmid:用于启动激活系统守护进程,以便远程对象可以在JVM中注册和激活

33.rmiregistry:启动一个远程对象注册表中指定的端口

34.schemagen: 命令行工具,可以根据表示 Java 应用程序的数据元素的现有 Java 应用程序来创建 XML 模式文档

35.serialver:用于返回一个类的serialverUID

36.servertools:为程序员提供了一个命令行接口,用于注册,取消注册,启动,关闭一个服务
  
37.tnameserv:提供了访问命名服务。

38.unpack200:对pack200进行压缩的jar文件进行解压

39.wsgen:是一个命令行功能用来生成合适的JAX-WS。它读取WebService的终端类文件,同时生成所有用于WebService发布的源代码文件和经过编译过的二进制类文件。它还随意生成WSDL和符合规范的HelloServer类WebService。wsgen从资源文件生成一个完整的操作列表是合法的。

40.wsimport:这个工具依据wsdl文件生成相应的类文件,然后用这些类文件,就可以像调用本地的类一样调用WebService提供的方法了


41.jps:相当于Solaris进程工具ps。不象"pgrep java"或"ps -ef grep java",jps并不使用应用程序名来查找JVM实例。因此,它查找所有的Java应用程序,包括即使没有使用java执行体的那种(例如,定制的启动 器)。另外,jps仅查找当前用户的Java进程,而不是当前系统中的所有进程。
 
42.jmap:Java内存映像工具
 
参考资料:JDK1.6工具目录,网络资料整理
 
本文最早发表于我的QQ空间,2012年4月22日。2013年10月27日更新。
 

[置顶] JDK工具(零)--简要介绍JDK1.6自带的42个工具的更多相关文章

  1. JDK工具(零)--简要介绍JDK1.6自带的42个工具

    Java的开发人员肯定都知道JDK的bin目录中有"java.exe"和"javac.exe"这两个命令行工具, 但并非所有的Java程序员都了解过JDK的bi ...

  2. [置顶] JDK工具(一)–Java编译器javac

    1.概述    javac.exe: Java编译器,将Java源代码转换成字节码. 2.用法    javac <选项> <源文件> (使用过程中发现,javac <源 ...

  3. 简要介绍Apache、php、mysql安装和工具介绍

    1 安装Apache 网站:www.Apache.org下载相应的Apache,目前下载了近期的:httpd-2.2.15-win32-x86-openssl-0.9.8msi 安装简要步骤如下图: ...

  4. [置顶] JAVA从零单排4-----继承、封装和多态详解

    继承 Java三大特征之一:继承.Java的继承具有单继承的特点,每个子类只能有一个直接父类. 继承的特点 Java的继承用extends关键字来实现,被继承的类成为父类,实现继承的类被称为子类.子类 ...

  5. [置顶] LLVM每日谈之十五 LLVM自带的examples

    作者:snsn1984 在LLVM源码的目录下,有一个目录叫做examples,这个目录下边有几个LLVM的例子,初学者一般不会太关注这些例子,但是这些例子确实是精华中的精华,在LLVM的学习过程中不 ...

  6. 性能测试学习第二天_性能测试工具概述Loadrunner介绍

    性能测试工具概述Loadrunner介绍 http://www.51testing.com/html/42/n-6542.html 其中,T直接影响用户体验时间 性能测试的原理: 记录一个访问过程的通 ...

  7. sqlserver自带的导入导出工具,分别导入大批量mysql和oracle数据时的感受

    sqlserver自带的导入导出工具,分别导入大批量mysql和oracle数据时,mysql经常出现格式转换出错,不好导入  导入的数据量比较大时,还不如自己写个工具导入 今天在导oracle时,想 ...

  8. JDK 6 目录结构介绍以及JDK中的工具研究

     要想深入了解Java必须对JDK的组成, 本文对JDK6里的目录做了基本的介绍,主要还是讲解 了下JDK里的各种可执行程序或工具的用途 Java(TM) 有两个平台 JRE 运行平台,包括Jav ...

  9. 十二、jdk工具之jcmd介绍(堆转储、堆分析、获取系统信息、查看堆外内存)

    目录 一.jdk工具之jps(JVM Process Status Tools)命令使用 二.jdk命令之javah命令(C Header and Stub File Generator) 三.jdk ...

随机推荐

  1. java SE :标准输入/输出

    一 标准设备输入/输出 A 标准输入/输出类 System B 控制台读写类 Console  标准输入/输出类  System 1 标准输入.标准输出.错误输出流 // 标准输入流 public f ...

  2. vue引入自己写的js文件

    话不多说,直接上代码呀~ 先来个结构图: 中规中矩的vue-cli就写了一个自己的js文件 那么我想要引入到vue组件里. 1.首先写我的js文件 2.引入到vue组件!!!一定要用{}把方法名拿过来 ...

  3. ubuntu16.04 内核源码编译

    1)下载 首先看一下自己的内核版本 apt-cache search linux-source下载内核代码:sudo apt-get install linux-source-4.10.0 2)解压: ...

  4. 在phpWeChat里生成一个临时二维码(非微信二维码)

    phpWeChat作为支持Pc+H5开发的管理系统,内置一套二维码生成API,访问地址: 您的域名/api/qrcode/index.php?data=二维码数据 以下为使用示例 使用时有一点需要注意 ...

  5. JavaScript with JSONPath

    <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>JavaScript JSO ...

  6. 创建操作表(UIActionSheet)

    UIActionSheet用来创建一个操作表,它的初始化代码如下: - (IBAction)testActionSheet:(id)sender { UIActionSheet *actionShee ...

  7. python中间件

    django 中的中间件(middleware),在django中,中间件其实就是一个类,在请求到来和结束后,django会根据自己的规则在合适的时机执行中间件中相应的方法. 1.中间件的方法 pro ...

  8. 【BZOJ 2806】 2806: [Ctsc2012]Cheat (SAM+二分+DP+单调队列)

    2806: [Ctsc2012]Cheat Time Limit: 20 Sec  Memory Limit: 256 MBSubmit: 1262  Solved: 643 Description ...

  9. AtCoder Regular Contest 81

    链接 C.Make a Rectangle 给出一堆木棍的长度 从中选4根,询问在能围成矩形的情况下,矩形的最大面积 开个map统计一下就行 分正方形和矩形分别统计即可 复杂度$O(n \log n) ...

  10. 在Windows下将Redis注册为本地服务

    当前redis版本:3.2.100 通常情况下我们可以通过 redis-server.exe 和配置文件启动redis服务 : redis-server.exe redis.windows.conf ...