2.3 JDK内置工具
Java程序需要运行环境的支持,同时编译、解释Java程序、执行Java应用程序和Java小程序也需要必要的工具,本节重点讲解JDK中包含的5个常用工具,即Javac.exe、Java.exe、appletviewer.exe、Javadoc.exe和Javap.exe。在Sun的JDK中还集成了Java虚拟机(JVM),JVM提供了Java程序的运行环境,它负责解释.class文件(Java源程序经过编译后的文件),并提交给机器执行。
注意
这里对JVM不再做过多的说明,读者只要知道它的作用就足够了。
2.3.1 JDK常用工具
JDK是一个开发工具集合,作为实用程序,工具库有5种主要程序。
(1)Javac:Java编译器,将Java源代码转换为字节码(生成和源文件名同名的.class文件)。
(2)Java:Java解释器,执行Java源程序的字节码。
(3)appletviewer:小应用程序浏览器,执行嵌入HTML文件中的Java小程序的Java浏览器。
(4)Javadoc:依据Java源程序和说明语句生成各种HTML文档。
(5)Javap:Java反汇编器,显示编译类文件中可访问的功能和数据,显示字节码的含义。
2.3.2 JDK常用工具实例
2.3.1节已经详细介绍了各种实用工具的含义,这里就依次介绍如何使用这些工具给出一个具体实例。
Javac和Java工具在第2.6节通过一个Java应用程序详细说明了其用法。这里介绍2.3.1节所列的其他工具的使用,借用2.7节中的Java应用程序JavaApplet.Java。图2.2说明如何使用appletviewer。
图2.2 使用appletviewer工具
说明
这里仅仅说明如何使用该工具,即该工具的语法规则,至于Java Applet如何使用,可以参考2.7节的例子。
图2.3 使用Javadoc
图2.3说明如何使用Javadoc。
说明
这里借用了2.7节中的JavaApplet.Java源程序,在图2.3中可以清楚地看到Javadoc工具的执行过程,首先是加载源文件JavaApplet.Java,创建相关Javadoc信息,然后产生各种html文件,这些文件保存在执行Javadoc命令的当前目录下。至于文件内容,读者只要自己实践一次,打开观察一下,就很清楚了,这里不再作过多介绍。
图2.4为在D盘根目录下通过各种Javadoc生成的html文件。图2.5说明如何使用Javap。
图2.4 Javadoc生成的各种html文件
图2.5 使用Javap
说明
这里使用Javap反编译MyFirstJavaProgram.class(源程序可参见2.6节的代码)文件,反编译的结果是该类提供的可访问的方法和属性,这里可访问是指具有public访问权限的方法或静态属性,如在MyFirstJavaProgram.Java源文件中,有一个public访问权限的String testString和具有public访问权限的main()方法,同时Java默认的构造函数也具有public访问权限,所以这些都可以通过反编译工具Javap体现出来。
本节详细介绍了JDK的几种常用工具,读者一定用心体会,自己操作一遍,就可以很快掌握这些工具的用法。尤其是Javac.exe和Java.exe,它们是最常用的两种工具,在2.6节有具体的操作实例,读者可以参考。随着学习的深入,还会附带介绍其他工具(如jar打包工具等),对于初学者首先掌握本节介绍的基本工具是最重要的,这样不会耽误下面的学习内容,同时为深入学习JDK的其他工具打下良好的基础。
2.3.3 应用程序发布工具(jar)
jar文件被打包成ZIP文件格式,所以可以使用jar文件实现压缩和解压缩数据。jar工具可以实现应用程序的发布,把应用程序所需要的资源(如类、视频、音频、图片等)打包成.jar文件,该文件具有跨平台特性,可以在任何运行虚拟机的操作系统平台上执行。
jar工具是JDK的一部分,使用该工具实现jar文件的基本功能。jar命令将启动打包工具软件,根据自己的需要调用不同的参数实现打包资源文件。表2.1为jar工具命令格式和操作命令的功能。
表2.1 jar文件操作和操作功能的列表