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的bin目录之中其它命令行程序的作用. JDK ...

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

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

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

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

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

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

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

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

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

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

  7. 源代码管理工具 ——Git的介绍与简要教程

    一.Github与Git (一)简介 GitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名GitHub. GitHub于2008年4月10日正式上线 ...

  8. Java7中的ForkJoin并发框架初探(中)——JDK中实现简要分析

    原文发表于 2013 年 8 月 28 日 由 三石 根据前文描述的Doug Lea的理论基础,在JDK1.7中已经给出了Fork Join的实现.在Java SE 7的API中,多了ForkJoin ...

  9. [转]Java7中的ForkJoin并发框架初探(中)——JDK中实现简要分析

    详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp85   根据前文描述的Doug Lea的理论基础,在JDK1.7中已经给 ...

随机推荐

  1. 洛谷P1339 [USACO09OCT]热浪Heat Wave(最短路)

    题目描述 The good folks in Texas are having a heatwave this summer. Their Texas Longhorn cows make for g ...

  2. MySQL用户添加和分配权限

    mysql数据库insertdelete服务器file mysql> grant 权限1,权限2,…权限n on 数据库名称.表名称 to 用户名@用户地址 identified by ‘连接口 ...

  3. mysql 查询格式化时间

    select DATE_FORMAT(addtime,'$m %d %Y') from tablename 输出:01 28 2019 数据库时间格式:2019-01-28 15:01:20

  4. vue总线bus传值的一些问题

    动态组件中用总线Bus的坑 在我们的项目总难免会遇到用动态组件,这里就拿vue官方的例子为例,我们欲在组件中添加总线bus(其实官方推荐的vuex更好用,但是有时候我们只需要传一个小状态,不需要用vu ...

  5. Hellow BeiJing

    DAY1: (#^.^#),今天是9.23日,离出发去北京还有7天,好像一切还是正常的样子. 先发一张图,这就是我们机房的日常: 但是o( ̄ヘ ̄o#)我听着我耳边的cys童鞋的rap就感觉事情仿佛没辣 ...

  6. hadoop-17-hive数据库元数据查看

    hadoop-17-hive数据库元数据查看 存在本地的mysql中: user001用户中 : > mysql -uhive -phive mysql> use hive; mysql& ...

  7. C++primer书店程序

    #include <iostream> #include <string> #include <cassert> #include <algorithm> ...

  8. Linux Shell脚本编程学习笔记和实战

    http://www.1987.name/141.html shell基础 终端打印.算术运算.经常使用变量 Linux下搜索指定文件夹下特定字符串并高亮显示匹配关键词 从键盘或文件里获取标准输入 [ ...

  9. HDU 2196 Computer(求树上每一个节点到其他点的最远距离)

    解题思路: 求出树的直径的两个端点.则树上每一个节点到其它点的最远距离一定是到这两个端点的距离中最长的那一个. #include <iostream> #include <cstri ...

  10. Android中的跨进程通信方法实例及特点分析(一):AIDL Service

    转载请注明出处:http://blog.csdn.net/bettarwang/article/details/40947481 近期有一个需求就是往程序中增加大数据的採集点,可是由于我们的Andro ...