win7正版软件价格-甜椒刷机助手

jdk 6 0
2023年4月1日发(作者:极点五笔下载)

-1-

JDK的安装及使用方法详细说明

一、JDK基本开发工具简介

JDK(JavaDeveloper'sKit,Java开发者工具包),也称J2SDK(Java2Software

DevelopmentKit),是SUN公司提供的一个开源、免费的Java开发工具。JDK

包含了Java程序的编译、解释执行工具以及Java运行环境(即JRE)。作为基本

开发工具,JDK也是其它Java开发工具的基础,也就是说,在安装其它开发工

具和集成开发环境以前,必须首先安装JDK。

初学者使用JDK,可以在学习的初期把精力集中在Java语言语法的学习上,

能够体会到更底层、更基础的知识,对于以后的程序开发很有帮助。

但是JDK没有提供Java源代码的编辑环境,这个是SUN提供的很多基础

开发工具的通病,所以还需要在某种文本编辑器(比如:记事本、EditPlus、

UltraEdit等)中编写Java源代码。其实大部分程序设计语言的源代码都是一个

文本文件,只是存储成了不同的后缀名而已。Java源代码程序文件的后缀是.java

的文本文件。对于初学者来讲,仅使用“记事本+JDK”就可以完成Java程序的

编辑、编译、解释及执行等功能。

Java发展到现在,按应用来进行分类,可分为三大块:J2SE、J2ME和J2EE。

这三块相互补充,应用范围不同。

●J2SE就是Java2的标准版,主要用于桌面应用软件的编程,从JDK1.1.8

版本以后改成J2SE。初学者应从J2SE开始学习。本文关于软件的下载、安装和

配置,以及教学授课内容的介绍也都是基于J2SE平台的。

●J2ME就是Java2微型嵌入式版,主要应用于嵌入式系统的开发,如:

手机、PDA、家电的编程等。可以说,这是一个很有前途的研究和工作方向。

●J2EE是Java2的企业版,全称为Java2PlatformEnterpriseEdition。J2EE

主要用于分布式的网络程序的开发,如:电子商务网站和ERP系统等。J2EE平

台本质上是一个分布式的服务器应用程序设计环境,用来建设大型的分布式企业

级应用程序,或者用更时髦的名词说就是“电子商务”应用程序。这些企业可能

-2-

大到拥有中心数据库服务器,Web服务器集群和遍布全国的办公终端,也可能小

到只不过想做一个网站。J2EE在这一市场目前只有一种技术可以和J2EE竞争,

那就是Microsoft的.NET。相对来说.NET要“新”一些,而J2EE要“老”一些。

但是.NET只能用于Windows平台(Microsoft声称要开发C#在Linux上的虚拟

机,但是尚未兑现该诺言)。

到目前为止,SUN公司发布了很多版本的JDK,具体情况如表1-1所示。

表1-1JDK的版本及代号

版本号名称中文名发布日期

JDK1.1.4Sparkler

宝石

1997-09-12

JDK1.1.5Pumpkin

南瓜

1997-12-13

JDK1.1.6Abigail

阿比盖尔--女子名

1998-04-24

JDK1.1.7Brutus

布鲁图--古罗马

政治家和将军

1998-09-28

JDK1.1.8Chelsea

切尔西--城市名

1999-04-08

J2SE1.2Playground

运动场

1998-12-04

J2SE1.2.1none

1999-03-30

J2SE1.2.2Cricket

蟋蟀

1999-07-08

J2SE1.3Kestrel

美洲红隼

2000-05-08

J2SE1.3.1Ladybird

瓢虫

2001-05-17

J2SE1.4.0Merlin

灰背隼

2002-02-13

J2SE1.4.1grasshopper

蚱蜢

2002-09-16

J2SE1.4.2Mantis

螳螂

2003-06-26

J2SE5.0(1.5.0)Tiger

老虎已发布

J2SE5.1(1.5.1)Dragonfly

蜻蜓未发布

J2SE6.0(1.6.0)Mustang

野马已发布

J2SE7.0(1.7.0)Dolphin

海豚未发布

从JDK1.2.2开始,主要版本(如1.3、1.4、5.0)都是以鸟类或哺乳动物来

命名的。而它们的bug修正版本(如1.2.2、1.3.1、1.4.2)都是以昆虫命名的。

小知识:

-3-

●SDK(SoftwareDevelopKit,软件开发工具包)

SDK用于帮助开发人员提高工作效率,各种不同类型的软件开发,都可以

有自己的SDK,例如:Windows有WindowsSDK、DirectX有DirectX9SDK、.NET

开发也有meworkSDK、JAVA开发也不含糊,也有自己的Java

SDK。因此,SDK就是泛指很多类型软件的开发包,可以说JDK也是一种SDK。

/products/

●JDK

JDK是一切java应用程序的基础,所有的java应用程序是构建在这个之上

的。它是一组API,也可以说是一些javaClass。JavaSDK最早叫JavaSoftware

DevelopKit,后来改名为JDK,即JavaDevelopKit。JDK作为Java开发工具包,

主要用于构建在Java平台上运行的应用程序、Applet和组件等。现在Sun公司

已经将JDK都改为叫JSDK了。

●JRE(JavaRuntimeEnvironment,Java运行环境)

JRE也就是Java平台。所有的Java程序都要在JRE下才能运行。JDK的工

具也是Java程序,也需要JRE才能运行。为了保持JDK的独立性和完整性,在

JDK的安装过程中,JRE也是安装的一部分。所以,在JDK的安装目录下有一

个名为jre的目录,用于存放JRE文件。

提示:如果你只需要运行已编译好的Java程序,则可以只安装JRE,而不

必安装JDK。如果你希望还要能够编译Java,则必须要安装JDK。

●JVM(JavaVirtualMachine,Java虚拟机)

①什么是Java虚拟机?

JVM是JRE的一部分。它是一个虚构出来的计算机,是通过在真实的计算

机上仿真模拟各种计算机功能来实现的。JVM有自己完善的硬件架构,如处理

器、堆栈、寄存器等,还具有相应的指令系统。

所以,JAVA虚拟机JVM是属于JRE的,而现在我们安装JDK时也附带安

装了JRE(当然也可以单独安装JRE)。有时,我们也可以简单地把Java运行环

-4-

境(JRE)和Java虚拟机(JVM)看成是一个概念。

②为什么要使用Java虚拟机?

Java语言最重要的特点就是跨平台运行。使用JVM就是为了支持与操作系

统无关,实现跨平台,使得Java程序在任何系统中都能够运行。

③Java虚拟机的基本原理是什么?

Java虚拟机屏蔽了与具体操作系统平台相关的信息,使得Java语言编译程

序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不

加修改地运行。Java虚拟机在执行字节码时,实际上最终还是把字节码解释成具

体平台上的机器指令执行。

小知识:

常见的虚拟机软件有Java虚拟机、PC虚拟机等,但Java虚拟机和PC虚拟

机的含义和作用不同:

●如前所述,Java虚拟机就是构造出来的是一个能够运行Java程序的仿真

环境。常见的Java虚拟机提供商包括:Sun公司、微软公司等。

●而PC虚拟机的含义是指制造了一个“虚拟”的计算机,能够支持现有

的各种PC平台的操作系统和应用软件,常见的虚拟机软件包括VMWare、

VirtualPC等。

-5-

二、JDK的获得、安装和配置

的获得

如果需要获得最新版本的JDK,可以到SUN公司的官方网站上进行下载,

网址:,如图2-1所示。

图2-1SUN公司官方网站首页

在图2-1所示的页面中,选择“Donwloads”下的“JavaSE”超链接可进入

“Java标准版”的下载页面。另外,你也可以直接在浏览器窗口(比如IE)的

地址栏中输入/javase/downloads/,进入“Java标准版”

的下载页面。如图2-2所示。

当然,你也可以在图2-1中进入SUN公司的其他产品的下载页面,比如:

NetBeans(一个相当不错的、免费的Java集成开发环境)、J2SE、J2EE等。

-6-

图2-2JavaSE下载页面

在图2-2中,建议下载“JDK6Update7”,当然也可以下载“JavaSE6Update

10Beta”。假设下载“JDK6Update7”,将进入图2-3所示页面。

图2-3JDK6Update7下载页面

在图2-3中,选择“Platform(平台)”及“Language(语言)”。JDK支持多

-7-

种平台,如:Linux、Solaris、Windows,如果你使用32位的Windows操作系统,

则选择“Windows”;如果你使用64位的Windows操作系统,则选择“Windows

x64”。而“Language”则选择“Multi-language(多语言)”。单击“Continue”按

钮之后,将进入图2-4所示的页面。

图2-4JDK6Update7文件下载选择页面

在下载Windows版本时,有两个版本可供下载,分别是:

●WindowsOfflineInstallation

离线安装版本,每次安装时直接进行本地安装。通常情况下,一般下载离线

安装版本。请勾选“WindowsOfflineInstallation”左侧的复选框,然后单击

“”即可下载JavaSE版的JDK6Update7。

●WindowsOnlineInstallation

在线安装版本,每次安装时都从网络上下载安装程序,在下载完成以后,进

行实际的安装。不建议选择此项。

-8-

的安装

安装程序是一个可执行程序,直接双击安装即

可,在安装过程中可以选择安装路径以及安装的组件等。建议不要把JDK的安

装路径放在Windows操作系统所在分区内。

假设安装路径为:D:ProgramfilesJava,如图2-5所示,在“Java”文件夹

内,有2个子文件夹:jdk1.6.0_07和jre1.6.0_07。其中,前者是JDK的各种程

序及类库等所在的文件夹;而后者是Java运行环境(JavaRuntimeEnvironment,

JRE)。

图2-5JDK安装路径

子文件夹“jdk1.6.0_07”自身所包含的文件和子文件夹内容如图2-6所示。

后面将要介绍的JDK的配置问题都是针对该子文件夹而言的,因此一定要准确

描述它的路径,即:“D:ProgramfilesJavajdk1.6.0_07”。一个比较好的方法是:

在图2-6所示界面的“地址栏”中将该路径复制下来。

-9-

图2-6子文件夹“jdk1.6.0_07”所包含的内容

子文件夹“jdk1.6.0_07”所包含的内容说明:

●文件夹bin:包含了一些Java本地实用工具,比如、等。

●文件夹demo:包含了Java平台的一些示例程序和源码,用于展示如何

编写Java程序。

●文件夹demoapplets:Applet的例子和源码。

●文件夹demojfc:使用Java2DTM和JFCSwing的例子及源码。

●文件夹demojpda:一些使用Java调试体系的源码和javadt、jdb工具。

●文件夹demoplugin:一些JavaPlug-in产品。

●文件夹docs:包含了关于JavaAPI的HTML文档。可以在其它的开发工

具(如UltraEdit、EditPlus等)中配置该文件夹路径,以便于在其它工具中查阅

Java文档。注意:在安装JDK后,可能没有此文件夹,你可以自行到SUN公司

下载。所下载的Java文档是个压缩包,对其进行解压缩后就可得到docs文件夹,

最后将docs文件拷贝到此处即可。

●文件夹include:使用Java本地接口和JVM(Java虚拟机)调试接口的

本地代码的C语言的头文件。

-10-

●文件夹jre:开发环境的jre,可以设置server参数。

●文件夹lib:开发工具使用的文件(和库),包括、等等。

●文件夹sample:目前还没有发现有什么用处,也没有研究出来。

●根目录下的一些文件:文件是java2平台的源代码,而其它文件

则是一些自述文件、版权、LICENSE文件等。

课外知识:两个JRE的区别。

安装JDK后,在安装路径下有两套JRE,一套位于“..javajdk1.6.0_07jre”,

另外一套位于“..Javajre1.6.0_07”目录下,后面这套比前面那套少了Server端

的Java虚拟机,不过直接将前面那套的Server端Java虚拟机复制过来就行了。

而且在安装JDK时,可以选择是否安装这个位于..Java目录下的JRE。如果

你只安装JRE,而不是JDK,那么只会在..Java目录下安装唯一的一套JRE(供

浏览器来使用)。

对于这两套JRE,可以这样简单的理解:前面那套JRE(..javajdk1.6.0_07jre)

是用来运行Java本身的程序的,比如:、等;而后面那套JRE

(..javajre1.6.0_07)是用来运行一般的Java程序的,一般都是用户所编写的程

序。

JRE的地位就象一台PC机一样,我们写好的Win32应用程序需要操作系统

帮我们运行,同样的,我们编写的Java程序也必须要JRE才能运行。所以当你

装完JDK后,如果分别在硬盘上的两个不同地方安装了两套JRE,那么你可以

想象你的电脑有两台虚拟的JavaPC机,都具有运行Java程序的功能。所以我们

可以说,只要你的电脑安装了JRE,就可以正确运行Java应用程序。

●为什么Sun要让JDK安装两套相同的JRE?这是因为JDK里面有很多

用Java所编写的开发工具(如、等),而且都被放置在

“..javajdk1.6.0_”文件中。

从下面例子可以看出,先将改名为,然后运行,

显示如下结果:“Exceptioninthread"main"sDefFoundError:

com/sun/tools/javac/Main”。这个意思是说,你输入与输入java-cp

D:ProgramfilesJavajdk1.6.0_是一样的,

会得到相同的结果。从这里我们可以证明只是一个包装器(Wrapper),

-11-

而制作的目的是为了让开发者免于输入太长的指令。而且可以发现lib目录下的

程序都很小,不大于29K,从这里我们可以得出一个结论。就是JDK里的工具

几乎是用Java所编写,所以也是Java应用程序,因此要使用JDK所附的工具来

开发Java程序,也必须要自行附一套JRE才行,所以位于“D:Program

FilesJavajre1.6.0_07”目录下的那套JRE就是用来运行一般的Java程序用的。

●如果一台电脑安装两套以上的JRE,谁来决定呢?这个重大任务就落在

身上。的工作就是找到合适的JRE来运行Java程序。

依照下面的顺序来查找JRE:自己的目录下有没有JRE;父目录有没有JRE;查

询注册表:[HKEY_LOCAL_MACHINESOFTWAREJavaSoftJavaRuntime

Environment]所以的运行结果与你的电脑里面哪个JRE被执行有很大的

关系。

●介绍JVMJRE目录下的Bin目录有两个目录:server与client。这就是真

正的所在。无法单独工作,当启动后,会使用explicit的

方法(就是使用Win32API之中的LoadLibrary()与GetProcAddress()来载入辅助

用的动态链接库),而这些辅助用的动态链接库(.dll)都必须位于所在

目录的父目录之中。因此想使用哪个JVM,只需要设置PATH,指向JRE所在目

录底下的。

的配置

JDK安装完成以后,不做设置就可以直接使用,但为了使用方便,一般需要

进行简单的配置,主要是在Windows操作系统中配置Java的系统环境变量。

由于JDK提供的编译和运行工具都是基于命令行的,所以需要进行DOS方

面的设置,也就是要把JDK安装目录下bin目录中的可执行文件都添加到DOS

的外部命令中,这样就可以在任意路径下直接使用bin目录下的exe程序了。

配置过程可简要描述如下:

在“我的电脑”右键菜单中→选择“属性”→选择“高级”选项卡→单击“环

境变量”按钮→在“系统变量”区域,先后分别新建“Path_home”变量、编辑

修改“Path”变量、新建“Classpath”变量。

-12-

配置的具体步骤如下:

(1)在“我的电脑”右键菜单中,选择“属性”进入“系统属性”对话框,

如图2-7所示。当然也可以采用下面的方式进入该对话框:

●如果WindowsXP的控制面板的设置是“经典视图”方式,那么请选择

“我的电脑”→“控制面板”→“系统”。

●如果WindowsXP的控制面板的设置是“分类视图”方式,那么请选择

“我的电脑”→“控制面板”→“性能和维护”→“系统”。

图2-7“系统属性”对话框

(2)在图2-7所示的“系统属性”窗口中,选择“高级”选项卡,如图2-8

所示。

-13-

图2-8“系统属性”对话框之“高级”选项卡

(3)在图2-8中单击“环境变量”变量按钮,进入“环境变量”窗口,如图

2-9所示。然后在“环境变量”窗口的“系统变量”区域按照如下方法配置系统

环境变量。

前提条件:假设JDK的安装路径是“D:ProgramfilesJavajdk1.6.0_07”。

●新建系统变量“Java_home”,设置其变量值为“;D:Program

filesJavajdk1.6.0_07bin;”。如图2-10所示。

●编辑系统变量“Path”,该变量的用途是使得系统能够查找到可执行程序

所在的路径。为方便使用Java命令行的程序,需要把JDK安装路径中bin目录

的路径信息,添加到Path变量值中,添加的值为“;%Java_home%bin;”。如图

2-11所示。注意:不要将“Path”原有的变量值删除。

●新建系统变量“Classpath”,设置其变量值为“.;%Java_home%lib;”。如

图2-12所示。

-14-

注:上述的双引号都不添加;分号是变量值分隔符,应为英文分号(半角)。

图2-9“环境变量”窗口

图2-10新建“Java_home”环境变量

图2-11编辑“Path”环境变量

-15-

图2-12新建“Classpath”环境变量

配置完成以后,可以使用如下方法来测试配置是否成功:

(1)选择“开始”→“运行”,输入“CMD”后按确定,或者选择“开始”

→“所有程序”→“附件”→“命令提示符”。

(2)在“命令提示符”窗口中,输入javac,按回车执行。

●如果输出的内容是使用说明,则说明配置成功。

●如果输出的内容是“’javac’不是内部或外部命令,也不是可执行的程

序或批处理文件。”,则说明配置错误,需要重新进行配置。

常见的配置错误主要有:一是路径错误;二是分号分隔符错误(如:错误的

将分号打字成了冒号或使用了全角的分号)。

-16-

三、JDK的使用方法

Java程序有二种:JavaApplication和JavaApplet。前者是Java应用程序;

而后者是Java小程序,Applet程序可在网页中浏览。

下面分别简单介绍如何利用JDK开发一个Java程序和Applet。同时,使用

“记事本+JDK”模式完成Java源代码的编写、编译和解释执行。

准备工作:在某个硬盘分区内,新建立一个文件夹,比如:以我的姓名缩写

在D盘建立一个名为“JCD”的文件夹。该文件夹用于保存后缀为.java的Java

源代码文件和后缀为.class的Java字节码程序。

1.开发JavaApplication

第1步:编辑Java源代码文件

打开Windows操作系统的“记事本”程序,并编写如图3-1所示的Java源

代码。

图3-1编辑Java源代码

上述代码编写完毕后,选择“文件”→“另存为”命令,将该源代码保存到

D盘的JCD文件夹中。所保存的文件名必须为“Beijing_”,要注意

英文字母的大小写。在该程序中,源程序文件名必须与公共类名相同。

第2步:编译源代码文件Beijing_

单击“开始”→“运行”,输入“CMD”命令并按“确定”按钮后,将进入

-17-

“命令提示符”窗口。然后,先后分别输入图3-2所示的命令。

图3-2编译Java程序

在图3-2中,从上到下有3条DOS命令,说明如下:

●“d:”将当前所在的路径转到D盘。

●“cdjcd”进入到D盘内的JCD文件夹中。

●“javacBeijing_”编译源代码文件Beijing_,以

得到Java字节码程序Beijing_。如果出现图3-2所示的最后一行的

状态,说明已经编译成功;否则将会报错,并指出错误原因。

此时,我们可以使用DOS命令查看字节码程序Beijing_,方法

是在图3-2中继续输入如下DOS命令:“dirBeijing_”。

第3步:运行Java解释程序执行字节码程序Beijing_

输入命令:javaBeijing_Olympic,如图3-3所示。注:Beijing_

的后缀.class不必输入。

-18-

图3-3运行Java程序

2.开发JavaApplet

第1步:使用“记事本”建立源文件。如图3-4所示。

图3-4建立JavaApplet源文件

-19-

第2步:编译源代码文件。在“命令提示符”窗口中输入“”。

第3步:编辑网页文件。对于Applet小程序,不能使用

解释程序来运行,而只能将它对应的.class字节码文件嵌入在HTML文档中运行。

如图3-5所示。提示:网页文件的名字可以与字节码文件名字不同。

图3-5编辑网页文件

第4步:运行。有两种运行方法:

●直接双击文件,在浏览器中运行。如图3-6所示。

●使用Java的Applet小程序查看器来运行。如图3-7和

图3-8所示。

图3-6在浏览器中运行Applet

-20-

图3-7使用小程序查看器

图3-8Applet小程序运行结果

-21-

四、附录

常用命令

请参见“DOS常见命令使用方法.doc”。

常用工具使用方法

安装JDK后,在安装路径的bin目录下有许多.exe可执行文件,它们的用途

是:

表4-1../Java/bin目录下的可执行文件的作用

可执行文件名称作用

Java编译器,将Java源代码转换成字节码。

Java解释器,直接从类文件执行Java应用程序代码。

小程序浏览器,即:一种用于执行HTML文件上的Java小

程序类的Java浏览器。

根据Java源代码及其说明语句生成的HTML文档。

Java调试器,可以逐行地执行程序、设置断点和检查变量。

产生可以调用Java过程的C过程,或建立能被Java程序调

用的C过程的头文件。

Java反汇编器,显示编译类文件中的可访问功能和数据,同

时显示字节代码含义。

多用途的存档及压缩工具,是个java应用程序,可将多个

文件合并为单个JAR归档文件。

命令转换工具。

将含有不是Unicode或Latinl字符的的文件转换为Unicode

编码字符的文件。

返回serialverUID。语法:serialver[show]命令选项show

是用来显示一个简单的界面。输入完整的类名按Enter键或

"显示"按钮,可显示serialverUID。

以下将详细介绍上述可执行程序的的用法及参数。

-22-

使用方法:javac<选项><源文件>

选项参数名称含义

-g

生成所有调试信息

-g:none

不生成任何调试信息

-g:{lines,vars,source}

只生成某些调试信息

-nowarn

不生成任何警告

-verbose

输出有关编译器正在执行的操作的消息

-deprecation

输出使用已过时的API的源位置

-classpath<路径>指定查找用户类文件和注释处理程序的位置

-cp<路径>指定查找用户类文件和注释处理程序的位置

-sourcepath<路径>指定查找输入源文件的位置

-bootclasspath<路径>覆盖引导类文件的位置

-extdirs<目录>覆盖安装的扩展目录的位置

-endorseddirs<目录>覆盖签名的标准路径的位置

-proc:{none,only}

控制是否执行注释处理和/或编译

-processor[,,

…]

要运行的注释处理程序的名称;绕过默认的搜

索进程

-processorpath<路径>指定查找注释处理程序的位置

-d<目录>指定存放生成的类文件的位置

-s<目录>指定存放生成的源文件的位置

-implicit:{none,class}

指定是否为隐式引用文件生成类文件

-encoding<编码>指定源文件使用的字符编码

-target<版本>生成指定虚拟机版本的类文件

-version

版本信息

-help

输出标准选项的提要

-Akey[=value]

传递给注释处理程序的选项

-X

输出非标准选项的提要

-J<标志>直接将<标志>传递给运行时系统

-23-

功能说明:运行.class字节码程序或者.jar文件。

使用方法及选项参数:如图4-1~图4-2所示。

图程序的使用方法及参数

图程序的使用方法及参数

-24-

功能说明:Javaapplet浏览器。appletviewer命令可在脱离万维网浏览器环

境的情况下运行applet。

使用方法:appletviewerurl

补充说明:appletviewer命令连接到url所指向的文档或资源上,并在其自身

的窗口中显示文档引用的每个applet。注意:如果url所指向的文档不引用任何

带有OBJECT、EMBED或APPLET标记的applet,那么appletviewer就不做任

何事情。

选项参数:

选项参数名称含义

-debug

在Java调试器jdb中启动appletviewer,使您可以调试

文档中的applet

-encoding<编码名称>指定由HTML文件使用的字符编码

-J[javaoption]

将javaoption字符串作为单个参数传给运行appletviewer

的Java解释器。参数不能含有空格。由多重参数组成的

字符串,其中的每个参数都必须以前缀-J开头,该前缀

以后将被除去。这在调整编译器的执行环境或内存使用

时将很有用。

功能说明:Java归档工具。

用法:

jar{ctxui}[vfm0Me][jar-file][manifest-file][entry-point][-Cdir]files...

jar[命令选项][manifest]destinationinput-file[input-files]

补充说明:jar工具是个java应用程序,可将多个文件合并为单个JAR归档

文件。jar是个多用途的存档及压缩工具,它基于ZIP和ZLIB压缩格式。然而,

设计jar的主要目的是便于将javaapplet或应用程序打包成单个归档文件。将

applet或应用程序的组件(.class文件、图像和声音)合并成单个归档文件时,可以

用java代理(如浏览器)在一次HTTP事务处理过程中对它们进行下载,而不是对

-25-

每个组件都要求一个新连接。这大大缩短了下载时间。jar还能压缩文件,从而

进一步提高了下载速度。此外,它允许applet的作者对文件中的各个项进行签名,

因而可认证其来源。jar工具的语法基本上与tar命令的语法相同。

命令选项:

选项参数名称含义

-c

在标准输出上创建新归档或空归档

-t

在标准输出上列出存档目录(内容表)。

-x[file]

解压缩已归档的指定(或所有)文件。即:从标准输入提取所

有文件,或只提取指定的文件。如果省略了file,则提取所有

文件;否则只提取指定文件。

-u

更新现有的归档文件。即:通过添加文件或更改清单来更新现

有的JAR文件。例如:“”将文件

添加到现有的JAR文件中,而“”

则用manifest中的信息更新的清单。

-v

在标准输出中生成详细输出

-f

指定归档文件名

-m

包含指定清单文件中的清单信息。用法举例:“jarcmf

myManifestFilemyJarFile*.class”

-e

为捆绑到可执行jar文件的独立应用程序指定应用程序入口点

-0

仅存储;不使用任何ZIP压缩

-M

不创建条目(项目)的清单(manifest〕文件

-i

为指定的jar文件生成索引信息

-C

改变为指定的目录并包含其中文件,如果有任何目录文件,则

对其进行递归处理。清单文件名、归档文件名和入口点名的指

定顺序与"m"、"f"和"e"标志的指定顺序相同。即:在执行jar

命令期间更改目录。例如:“-Cclasses*”将classes

目录内的所有文件加到中,但不添加类目录本身。

程序示例1:将两个类文件存档到一个名为的存档文件中。

-26-

程序示例2:使用现有的清单文件"mymanifest"并将foo/目录中的所有文件

归档到""中。

anifest-Cfoo/.

程序示例3:将当前目录下所有CLASS文件打包成新的JAR文件。

*.class

程序示例4:显示一个JAR文件中的文件列表。

程序示例5:将当前目录下的所有文件增加到一个已经存在的JAR文件中。

*

功能说明:JavaAPI文档生成器从Java源文件生成API文档HTML页。

使用方法:javadoc[选项][软件包名称][源文件名][@files]

其中,[软件包名称]为用空格分隔的一系列包的名字,包名不允许使用通配

符,如(*)。[源文件名]用空格分隔。

选项参数:

选项参数名称含义

-overview<文件>读取HTML格式的概述文档

-public

仅显示public类和成员

-protected

显示protected/public类和成员(缺省)

-package

显示package/protected/public类和成员

-private

显示所有类和成员

-help

显示命令行选项

-doclet<类>通过替代doclet生成输出

-docletpath<路径>指定doclet类文件的查找位置

-sourcepath<路径列表>指定源文件的查找位置

-classpath<路径列表>指定用户类文件的查找位置

-exclude<软件包列表>指定要排除的软件包的列表

-27-

-subpackages<子软件包列表>指定要递归装入的子软件包

-breakiterator

使用BreakIterator计算第1句

-bootclasspath<路径列表>覆盖自举类加载器所加载的类文件的位置

-source<版本>提供与指定版本的源兼容性

-extdirs<目录列表>覆盖已安装的扩展目录的位置

-verbose

输出有关Javadoc正在执行的操作的信息

-locale<名称>要使用的语言环境,例如en_US或en_US_WIN

-encoding<名称>源文件编码名称

-quiet

不显示状态消息

-J<标志>直接将<标志>直接传给运行时系统

由标准doclet提供:

选项参数名称含义

-d

输出文件的目标目录

-use

创建类和包的用法页面

-version

包含@version段

-author

包含@author段

-docfilessubdirs

递归复制文档文件子目录

-splitindex

将索引分为每个字母对应一个文件

-windowtitle

文档的浏览器窗口标题

-doctitle

包含概述页面的标题

-header

包含每个页面的页眉文本

-footer

包含每个页面的页脚文本

-bottom

包含每个页面的顶部文本

-bottom

包含每个页面的底部文本

-link

创建指向位于的javadoc输出的链接

-linkoffline

利用位于的包列表链接至位于的文档

-excludedocfilessubdir:..

排除具有给定名称的所有文档文件子目录

-group:..

在概述页面中,将指定的包分组

-nocomment

不生成描述和标记,只生成声明

-28-

-nodeprecated

不包含@deprecated信息

-noqualifier::...

输出中不包括指定限定符的列表

-nosince

不包含@since信息

-nodeprecatedlist

不生成已过时的列表

-notree

不生成类分层结构

-noindex

不生成索引

-nohelp

不生成帮助链接

-nonavbar

不生成导航栏

-serialwarn

生成有关@serial标记的警告

-tag::

指定单个参数自定义标记

-taglet

要注册的Taglet的全限定名称

-tagletpath

Taglet的路径

-charset

用于跨平台查看生成的文档的字符集

-helpfile

包含帮助链接所链接到的文件

-linksource

以HTML格式生成源文件

-sourcetab

指定源中每个制表符占据的空格数

-keywords

使包、类和成员信息附带HTML元标记

-stylesheetfile

用于更改生成文档的样式的文件

-docencoding

输出编码名称

使用方法:javah[选项]<类>

选项参数:

选项参数名称含义

-help

输出此帮助信息并退出

-classpath<路径>用于装入类的路径

-bootclasspath<路径>用于装入引导类的路径

-d<目录>输出目录

-o<文件>输出文件(仅能使用-d或-o之的一个)

-29-

-jni

生成JNI风格的头文件(默认)

-old

生成JDK1.0风格的头文件

-stubs

生成stubs文件

-version

输出版本信息

-verbose

起用详细输出

-force

始终写入输出文件。

指定全限定名称指定<类>(例如,)。

使用方法:HtmlConverter[-option1value1[-option2value2[...]]][-simulate]

[filespecs]

选项参数:

选项参数名称含义

-source:

获取源文件的路径。缺省值:

-source-:

从标准输入读取转换文件

-dest:

写入已转换文件的路径。缺省值:

-dest-:

将转换好的文件写入标准输出

-backup:

写备份文件的路径。缺省值:_BAK

-f:

强制覆写备份文件。

-subdirs:

应处理子目录中的文件。

-template:

模板文件的路径。如果不确定,请使用缺省值。

-log:

写日志的路径。如果没有提供,则不会写入任何日志。

-progress:

转换时显示进度。缺省值:true

-simulate:

在没有进行转换时显示特定于转换的信息。

-latest:

使用最新的JRE支持发行版mimetype。

-gui:

显示转换程序的图形用户界面。

-filespecs:

用空格分开的文件说明列表。缺省值:"*.html*.htm"(需

要引号)

-30-

使用方法:orbd<选项>

选项参数:

选项参数名称含义

-port

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

-defaultdbORBD

文件的目录,缺省值为"./"(可选)

-serveridORBD

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

-ORBInitialPort

初始端口(必需)

-ORBInitialHost

初始主机名称(必需)

使用方法:policytool[选项]

选项参数:

选项参数名称含义

-file

规则文件位置

功能说明:rmic为远程对象生成存根(stub)和框架(skeleton)。

使用方法:rmic<选项><类名称>

补充说明:rmic编译器根据编译后的Java类(含有远程对象实现)名,为

远程对象生成stub和skeleton(远程对象是指实现接口的对象)。

在rmic命令中所给的类必须是经javac命令成功编译且是完全包限定的类。

选项参数:

选项参数名称含义

-keep

不删除中间生成的源文件

-keepgenerated

(与"keep"相同)。即:为stub和skeleton文件保留所生成的.java

源文件,并将这些源文件写到与.class文件相同的目录中,如果要

指定目录,则使用-d选项。

-v1.1

创建1.1存根协议版本的存根/框架

-31-

-vcompat

(默认值)创建与1.1和1.2存根协议版本兼容的存根/框架

-v1.2

(默认值)仅创建1.2存根协议版本的存根

-iiop

创建IIOP的存根。使用此选项时,<选项>还包括:

-always即使当前显示存根,仍创建它们

-alwaysgenerate(与"-always"相同)

-nolocalstubs不创建为相同进程优化的存根

-idl

创建IDL。使用此选项时,<选项>还包括:

-noValueMethods不生成valuetypes(值类型)的方法

-always即使当前显示IDL,仍创建它

-alwaysgenerate(与同"always"相同)

-g

生成调试信息。即:允许生成调试表格。调试表格含有行号和局

部变量的有关信息,即Java调试工具所使用的信息。缺省情况下,

只生成行号。

-depend

以递归方式重编译过期的文件。即:使编译器考虑重新编译从其

它类引用的类。一般来说,它只重新编译从源代码引用的遗漏或

过期的类。

-nowarn

不生成任何警告。即:关闭警告。如果使用该选项,则编译器不

输出任何警告信息。

-nowrite

不向文件系统写入编译的类

-verbose

输出有关编译器正在执行的操作的信息。即:使编译器和链接器

输出关于正在编译哪些类和正在加载哪些类文件的信息

-classpath<路径>

指定查找输入源和类文件的位置。即:指定rmic用于查询类的路

径。如果设置了该选项,它将覆盖缺省值或CLASSPATH环境变

量。目录用冒号分隔。

-sourcepath<路径>指定用户源文件的查找位置

-bootclasspath<路径>覆盖引导类文件的位置

-extdirs<路径>覆盖安装的扩展目录的位置

-d<目录>

指定存放生成的类文件的位置。即:指定类层次的根目录。此选

项可用来指定stub和skeleton文件的目标目录。

-32-

-J<运行时标志>向java解释程序传递参数

-J-D

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

给java解释器

功能说明:rmid启动激活系统守护进程,以便能够在Java虚拟机上注册和

激活对象。

使用方法:rmid<选项>

补充说明:rmid工具启动激活系统守护进程。必须先启动激活系统守护进

程,才能向激活系统注册可被激活的对象或在Java虚拟机上激活可被激活的对

象。

选项参数:

选项参数名称含义

-port<端口>

指定供rmid使用的端口。即:指定rmid的注册服务程序

所使用的端口。激活系统守护进程将ActivationSystem与该

注册服务程序中的名称tionSystem

捆绑在一起。

-log<目录>

指定rmid将日志写入的目录。即:指定目录的名称,激活

系统守护进程在该目录中写入其数据库及相关信息。缺省

状态下,将在执行rmid命令的目录中创建一个log目录。

-stop

停止当前的rmid调用(对指定端口)。即:停止-port选项

所指定端口上的当前rmid调用。若未指定端口,则将停止

在端口1098上运行的rmid。

-C

向每个子进程传递参数(激活组)。即:指定一个选项,在

创建每个rmid的子守护进程(激活组)时,该选项以命令

行参数的形式传给该子守护进程

-J向java解释程序传递参数

-33-

功能说明:rmiregistry命令可在当前主机的指定端口上启动远程对象注册服

务程序。

使用方法:rmiregistry<选项><端口>

补充说明:rmiregistry命令在当前主机的指定port上创建并启动远程对象注

册服务程序。如果省略port,则注册服务程序将在1099端口上启动。rmiregistry

命令不产生任何输出而且一般在后台运行。远程对象注册服务程序是自举命名服

务。主机上的RMI服务器将利用它将远程对象绑定到名字上。客户机即可查询

远程对象并进行远程方法调用。注册服务程序一般用于定位应用程序需调用其方

法的第一个远程对象。该对象反过来对各应用程序提供相应的支持,用于查找其

它对象。Registry类的方法可用于在某台主机或主机和端

口上获取注册服务程序操作。类的基于URL的方法将对注册服

务程序进行操作,并可用于查询远程对象、将简单(字符串)名称绑定到远程对

象、将新名称重新绑定到远程对象(覆盖旧绑定)、取消远程对象的绑定以及列

出绑定在注册服务程序上的URL。

选项参数:

选项参数名称含义

-J将参数传递到java解释程序

功能说明:serialver命令返回serialVersionUID。

使用方法:serialver[-classpath类路径][-show][类名称...]

补充说明:serialver以适于复制到演变类的形式返回一个或多个类的

serialVersionUID。不带参数调用时,它输出用法行。

选项参数:

选项参数名称含义

-show

显示一个简单的用户界面。输入完整的类名并按回车键或“显示”按钮

可显示serialVersionUID。

-34-

如图4-3所示。

图命令的使用方法

可用命令:

命令名称含义

register

注册一个可激活的服务器

unregister

取消服务器注册

getserverid

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

list

列出所有已注册服务器

listappnames

列出当前定义的应用程序名称

listactive

列出当前活动的服务器

locate

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

locateperorb

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

orblist

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

shutdown

关闭一个已注册服务器

startup

启动一个已注册服务器

-35-

help

取得帮助

quit

退出此工具

功能说明:为Java归档(JAR)文件产生签名,并校验已签名的JAR文件的签

名。

使用方法:

jarsigner[选项]jar文件别名

jarsigner-verify[选项]jar文件

补充说明:jarsigner工具用于两个目的:①为Java归档(JAR)文件签名;②

校验已签名的JAR文件的签名和完整性。

命令选项:

-keystore

密钥库位置。即:指定密钥仓库的URL。缺省值是用户的

宿主目录中的.keystore文件,它由系统属性“”

决定。

-storepass<口令>

用于密钥库完整性的口令。即:指定访问密钥仓库所需的

口令。这仅在签名(不是校验)JAR文件时需要。在这种

情况下,如果命令行中没有提供-storepass选项,用户将被

提示输入口令。

-storetype<类型>

密钥库类型。即:指定要被实例化的密钥仓库类型。默认

的密钥仓库类型是安全属性文件中""属性值

所指定的那个类型,由re中的静态方

法getDefaultType返回。

-keypass<口令>

专用密钥的口令(如果不同)。即:指定用于保护密钥仓

库项(由命令行中指定的别名标出)的私钥的口令。使用

jarsigner为JAR文件签名时需要该口令。如果命令行中没

有提供口令,且所需的口令与密钥仓库的口令不同,则将

提示用户输入它。

-sigfile<文件>.SF/.DSA文件的名称。即:指定用于生成.SF和.DSA文件

-36-

的基本文件名。

-signedjar<文件>

已签名的JAR文件的名称。即:指定用于已签名的JAR

文件的名称。

-digestalg<算法>摘要算法的名称。

-sigalg<算法>签名算法的名称。

-verify

验证已签名的JAR文件。即:如果它出现在命令行中,则

指定的JAR文件将被校验,而不是签名。如果校验成功,

将显示“jarverified”。如果试图校验未签名的JAR文件,

或校验被不支持的算法(例如未安装RSA提供者时使用的

RSA)签名的JAR文件,则将有如下显示:"jarisunsigned.

(signaturesmissingornotparsable)"。

-verbose

签名/验证时输出详细信息。即:如果它出现在命令行中,

则代表“verbose”模式,它使jarsigner在JAR签名或校验

过程中输出额外信息。

-certs

输出详细信息和验证时显示证书。即:如果它与-verify和

-verbose选项一起出现在命令行中,则输出将包括JAR文

件的每个签名人的证书信息。

-tsa

时间戳机构的位置。

-tsacert<别名>时间戳机构的公共密钥证书

-altsigner<类>替代的签名机制的类名

-altsignerpath<路径列表>替代的签名机制的位置

-internalsf

在签名块内包含.SF文件。即:过去,JAR文件被签名时

产生的DSA(签名块)文件包含一个同时产生的.SF文件

(签名文件)的完整编码副本。这种做法已被更改。为了

减小输出JAR文件的整个大小,缺省情况下.DSA文件不

再包含.SF文件的副本。但是如果-internalsf出现在命令行

中,将采用旧的做法。该选项主要在测试时有用;实际上

不应使用它,因为这样将消除有用的优化。

-sectionsonly

不计算整个清单的散列。即:如果它出现在命令行中,则

-37-

JAR文件被签名时生成的.SF文件(签名文件)将不包括

含有整个清单文件的散列的头。它仅包含与JAR中每个单

独的源文件相关的信息和散列。该选项主要在测试时有

用;实际上不应使用它,因为这样将消除有用的优化。

-protected

密钥库已保护验证路径。

-providerName<名称>提供者名称。

-providerClass<类>

[-providerArg<参数>]

加密服务提供者的名称。其中[-providerArg<参数>]的作用

是主类文件和构造函数参数。

-J[javaoption]

将指定的javaoption串直接传递到Java解释器。(jarsigner

实际上是解释器的一个“wrapper”)。该选项不应含有任何

空格。它有助于调整执行环境或内存使用。要获得可用的

解释器选项的清单,可在命令行键入java-h或java-X。

功能说明:管理由私钥和认证相关公钥的X.509证书链组成的密钥仓库(数

据库)。还管理来自可信任实体的证书。

语法:keytool[命令]

补充说明:keytool是个密钥和证书管理工具。它使用户能够管理自己的公

钥/私钥对及相关证书,用于(通过数字签名)自我认证(用户向别的用户/服务

认证自己)或数据完整性以及认证服务。它还允许用户储存他们的通信对等者的

公钥(以证书形式)。

命令:keytool后面可携带的命令名称及含义如图4-4~图4-7所示。

-38-

图4-4keytool命令参数

图4-5keytool命令参数

-39-

图4-6keytool命令参数

图4-7keytool命令参数

-40-

功能说明:将含有本地编码字符(既非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]

指定转换过程使用的编码名称。缺省的编码从系统

属性ng中得到。

功能说明:extcheck检测目标jar文件与当前安装方式扩展jar文件间的版本

冲突。

语法:extcheck[-verbose]

补充说明:extcheck实用程序检查指定Jar文件的标题和版本与JDKTM软

件中所安装的扩展是否有冲突。在安装某个扩展前,可以用该实用程序查看是否

已安装了该扩展的相同版本或更高的版本。

extcheck实用程序将文件清单的specification-title和

specification-version头与当前安装在扩展目录下所有Jar文件的相对应的头进行

比较(缺省扩展目录为jre/lib/ext)。extcheck实用程序比较版本号的方式与

atibleWith方法相同。若未检测到冲突,则返回代码为0。

如果扩展目录中任何一个jar文件的清单有相同的specification-title和相同的或更

新的specification-version号,则返回非零错误代码。如果的清单中

没有specification-title或specification-version属性,则同样返回非零错误代码。

-41-

命令选项:

选项参数名称含义

-verbose

对扩展目录中的Jar文件进行检查时,列出文件。此外,还报

告目标jar文件的清单属性及所有冲突的jar文件。

更多推荐

jdk 6 0