自述文件 -- Java Platform, Standard Edition Development Kit

# 自述文件

## JavaTM Platform, Standard Edition 6
Development Kit

JDKTM 6

## 目录

- 简介
- 系统要求与安装
- JDK 文档
- 发行说明
- 兼容性
- 错误报告与反馈
- JDK 的内容
- Java Runtime Environment
- 再分发
- Java 签名标准覆盖机制
- Web 页

## 简介

> 感谢您下载此版本的 JavaTM Platform, Standard Edition Development Kit (JDKTM)。JDK 是一种开发环境，用于使用 Java 编程语言生成应用程序、applet 和组件。

> JDK 包含的工具可用于开发和测试以 Java 编程语言编写并在 JavaTM 平台上运行的程序。

## 系统要求与安装

> 系统要求、安装说明和故障排除提示位于 Java 软件 Web 站点上的以下位置：

> JDK 6 安装说明

## JDKTM 文档

> 联机 JavaTM Platform, Standard Edition (Java SE) 文档包含 API 说明、功能介绍、开发者指南、JDKTM 工具和实用程序的参考页面、演示程序以及指向相关信息的链接。此文档还以下载包的形式提供，您可以将此包安装在计算机上。要获得该文档包，请参见下载页面。有关 API 文档的信息，请参阅 JavaTM Platform, Standard Edition API 说明。该页面提供了 API 的简要介绍，其中重点介绍了 API 说明而非代码示例。

## 发行说明

> 有关此版本的其他信息，请参见 Java 软件 Web 站点上的 Java SE 6 发行说明。由于联机发行说明将根据需要进行更新，因此请不定期查看联机发行说明以了解最新信息。

## 兼容性

> 有关已知的兼容性问题列表，请参见 Java 软件 Web 站点上与早期版本的兼容性。我们已尽力支持为早期版本的 JavaTM 平台编写的程序。尽管必然会有某些不兼容的更改，但大部分软件都能够在不重新编程的情况下迁移到当前版本。除了在极少数情况下有意不保持兼容（如我们的兼容性 Web 页中所述）以外，如果做不到这一点，将被认为是一个错误。之所以存在一些破坏兼容性的更改，是因为需要弥补潜在的安全漏洞或修复实现或设计错误。

## 错误报告与反馈

> 错误数据库 Web 站点使您可以搜索和检查现有的错误报告、提交您自己的错误报告以及通知我们您最希望修复哪些错误。要直接提交错误或请求功能，请填写以下表单：

> http://bugs.sun.com/services/bugreport/index.jsp

> 您可以向 Java SE 文档小组发送反馈，也可以直接向 Java 软件工程小组的电子邮件地址发送意见。

> 注 - 请不要通过错误数据库或我们的开发团队寻求技术支持。有关可以选择的支持方式，请参见 Java 软件 Web 站点上的支持与服务。

## JDKTM 的内容

> 本部分概括介绍了 JDKTM 中的文件和目录。有关这些文件和目录的详细信息，请参见适用于您的平台的 Java SE 文档的 JDK 文件结构部分。

  开发工具
    （位于 `bin/` 子目录中）指工具和实用程序，可帮助您开发、执行、调试和保存以 JavaTM 编程语言编写的程序。有关详细信息，请参见工具文档。
  运行时环境
    （位于 `jre/` 子目录中）由 JDK 使用的 Java Runtime Environment (JRETM) 的实现。JRE 包括 JavaTM 虚拟机 (JVMTM)、类库以及其他支持执行以 JavaTM 编程语言编写的程序的文件。
  附加库
    （位于 `lib/` 子目录中）开发工具所需的其他类库和支持文件。
  演示 applet 和应用程序
    （位于 `demo/` 子目录中）JavaTM 平台的编程示例（带源代码）。这些示例包括使用 Swing 和其他 JavaTM 基类以及 JavaTM 平台调试器体系结构的示例。
  样例代码
    （位于 `sample` 子目录中）某些 Java API 的编程样例（带源代码）。
  C 头文件
    （位于 `include/` 子目录中）支持使用 Java 本机界面、JVMTM 工具界面以及 JavaTM 平台的其他功能进行本机代码编程的头文件。
  源代码
    （位于 `src.zip` 中）组成 Java 核心 API 的所有类的 JavaTM 编程语言源文件（即，java.*、javax.* 和某些 org.* 包的源文件，但不包括 com.sun.* 包的源文件）。此源代码仅供参考，以便帮助开发者学习和使用 JavaTM 编程语言。这些文件不包含特定于平台的实现代码，且不能用于重新生成类库。要对这些文件进行解压，请使用任一常用的 zip 实用程序；或者也可以使用位于 JDK 的 `bin/` 目录中的 Jar 实用程序：
    `jar xvf src.zip`

## Java Runtime Environment (JRETM)

> JavaTM Runtime Environment (JRETM) 是一款可单独下载的产品。请参见下载 Web 站点。

> 通过 JRE，您可以运行以 JavaTM 编程语言编写的应用程序。与 JDKTM 相似，JRE 包含 JavaTM 虚拟机 (JVMTM)、组成 JavaTM 平台 API 的类及支持文件。与 JDK 不同的是，它不包含诸如编译器和调试器这样的开发工具。

> 依照 JRE 许可证条款，您可以随意地将 JRE 随应用程序一起进行再分发。使用 JDK 开发应用程序后，可将其与 JRE 一起发行，以便最终用户具有可运行软件的 JavaTM 平台。

## 再分发

> > 注 - 本软件的许可证不允许再分发测试版和其他预发行版本。

> 必须遵守软件许可协议的条款和条件以及下面提出的义务、限制和例外。在下列情况下，您可以复制和分发本软件（以及在下面标识为“可再分发”的软件部分）：

> 1. 您将完整地分发软件而不能进行修改，并仅作为您的 applet 和应用程序（程序）的一部分打包；
> 2. 您的程序将向本软件添加重要的主要功能；
> 3. 您的程序仅用于在启用了 Java 的普通桌面计算机和服务器上运行；
> 4. 您分发软件只是为了运行您的程序；
> 5. 您不分发其他软件来替换本软件的任何组件；
> 6. 您不删除或更改本软件中包含的任何专用图例或声明；
> 7. 您只按照旨在保护 Sun 的利益的许可协议中的条款来分发本软件；
> 8. 您同意维护和保障 Sun 及其许可方的利益，不使其承担因第三方使用或分发任意和全部程序和/或软件而引起的赔偿、诉讼或冲突所导致的赔偿金、诉讼费、债务和/或调解费（包括律师费）。

> 此处使用的“供应商”一词是指许可证持有人、开发者以及将 JavaTM Development Kit (JDKTM) 与其程序一起许可和分发的独立软件供应商 (ISV)。

> 供应商必须遵守 Java Development Kit 二进制代码许可协议的条款。

### 必要文件与可选文件

> 组成 JavaTM Development Kit (JDKTM) 的文件分为两类：必要的和可选的。可选文件可以不包含在 JDK 的再分发中（由供应商决定）。

> 下面一节列出了可以选择从 JDK 的再分发中省略的文件和目录。没有列为可选文件的所有文件都必须包含在 JDK 的再分发中。

### 可选文件和目录

> 下列文件可以从再分发中排除。这些文件位于 jdk1.6.0_<版本> 目录中，其中 <版本> 是最新的版本号。将显示 SolarisTM 和 Linux 的文件名和分隔符。Windows 可执行文件具有 ".exe" 后缀。还可以排除名称中带有 `_g` 的相应文件。对于任何已排除的可执行文件，应排除相应的手册页（包含下面列出的以 `bin/` 开头的路径，适用于 SolarisTM 操作系统和 Linux）。

  `jre/lib/charsets.jar`
    字符转换类
  `jre/lib/ext/`
    `sunjce_provider.jar` - SunJCE 的 Java 加密法 API 提供者
    `localedata.jar` - 包含非美式英语语言环境所需的许多资源
    `ldapsec.jar` - 包含 LDAP 服务提供者所支持的安全特征
    `dnsns.jar` - 用于 JNDI DNS 提供者的 InetAddress 包装
  `bin/rmid` 和 `jre/bin/rmid`
    Java RMI 活化系统守护进程
  `bin/rmiregistry` 和 `jre/bin/rmiregistry`
    Java 远程对象注册表
  `bin/tnameserv` 和 `jre/bin/tnameserv`
    Java IDL 名称服务器
  `bin/keytool` 和 `jre/bin/keytool`
    密钥和证书管理工具
  `bin/kinit` 和 `jre/bin/kinit`
    用于获取和高速缓存 Kerberos 票证的授予票证
  `bin/klist` 和 `jre/bin/klist`
    凭据高速缓存和密钥表中的 Kerberos 显示条目
  `bin/ktab` 和 `jre/bin/ktab`
    Kerberos 密钥表管理器
  `bin/policytool` 和 `jre/bin/policytool`
    策略文件创建和管理工具
  `bin/orbd` 和 `jre/bin/orbd`
    对象请求代理守护进程
  `bin/servertool` 和 `jre/bin/servertool`
    Java IDL 服务器工具
  `bin/javaws`、`jre/bin/javaws`、`jre/lib/javaws/` 和 `jre/lib/javaws.jar`
    Java Web Start
  `db/`
    JavaTMDB，Sun Microsystems 的 Apache Derby 数据库技术分发。
  `demo/`
    演示 applet 和应用程序
  `sample/`
    样例代码
  `src.zip`
    源文件归档

### 可再分发的 JDKTM 文件

> 下面列出了有限几组 JDK 文件和目录，供应商在再分发 JavaTM Runtime Environment (JRETM) 时，可能会将这些文件和目录随附其中。这些文件不能单独再分发，而必须随 JRE 一起分发。所有路径都是相对 JDK 的顶层目录而言的。对于任何已包含的可执行文件，应包含相应的手册页（包含下面列出的以 `bin/` 开头的路径，适用于 SolarisTM 操作系统和 Linux）。

  `jre/lib/cmm/PYCC.pf`
    颜色配置文件。仅当用户希望在 PYCC 颜色区间与另一个颜色区间之间进行转换时才需要用到此文件。
  位于 `jre/lib/fonts/` 目录中的所有 `.ttf` 字体文件。
    请注意，JRE 中已包含 LucidaSansRegular.ttf 字体，因此无需从 JDK 中引入该文件。
  `jre/lib/audio/soundbank.gm`
    JDK 中具有该 MIDI 声音库，但为了减小 JRE 下载包所占的空间，已从 JRE 中删除该库。但是，对于 MIDI 回放，声音库文件是必需的，因此在再分发 JRE 时可能将 JDK 的 `soundbank.gm` 文件随附其中（由供应商决定）。可从 Java Sound Web 站点获得若干加强的 MIDI 声音库版本，该站点如下：http://java.sun.com/products/java-media/sound/。在再分发 JRE 时，可能将这些备用声音库随附其中。
  javac 字节码编译器由下列文件组成：
    `bin/javac` [SolarisTM 操作系统和 Linux]
    `bin/sparcv9/javac` [SolarisTM 操作系统（SPARC(R) 平台版）]
    `bin/amd64/javac` [SolarisTM 操作系统 (AMD)]
    `bin/javac.exe` [Microsoft Windows]
    `lib/tools.jar` [所有平台]
  注释处理工具由下列文件组成：
    `bin/apt` [SolarisTM 操作系统和 Linux]
    `bin/sparcv9/apt` [SolarisTM 操作系统（SPARC(R) 平台版）]
    `bin/amd64/apt` [SolarisTM 操作系统 (AMD)]
    `bin/apt.exe` [Microsoft Windows]
  `lib/jconsole.jar`
    Jconsole 应用程序。
  `jre\bin\server\`
    在 Microsoft Windows 平台上，JDK 同时包含 Java HotSpotTM 服务器 VM 和 Java HotSpotTM 客户机 VM。但是，Microsoft Windows 平台上的 JRE 仅包含 Java HotSpotTM 客户机 VM。如果用户希望和 JRE 一起使用 Java HotSpotTM 服务器 VM，可以将 JDK 的 `jre\bin\server` 文件夹复制到 JRE 的 `bin\server` 目录中。软件供应商可将 Java HotSpotTM 服务器 VM 随 JRE 一起再分发。

### 无限加强的 Java 加密法扩展

> 由于某些国家/地区存在进口控制限制，因此 JDK 和 JRE 随附的 Java 加密法扩展 (JCE) 策略文件允许使用强大但有限的加密法。这些文件位于
> `<java-home>/lib/security/local_policy.jar`
> `<java-home>/lib/security/US_export_policy.jar`
> 其中 `<java-home>` 是 JDK 的 `jre` 目录或 JRE 的顶层目录。

> 对于那些位于符合条件的国家/地区的用户，可以从 JDK Web 站点获取不对加密技术的强度指定任何限制的无限加强版文件。位于符合条件的国家/地区的用户可以下载无限加强版文件，并用这些文件替换强度有限的 jar 文件。

### Cacerts 证书文件

> 可以在位于以下位置的 Java SE 证书文件中添加或删除根 CA 证书

> `<java-home>/lib/security/cacerts`

> 有关详细信息，请参见 keytool 文档中的 cacerts 证书文件一节。

## Java 签名标准覆盖机制

> 需时常更新 Java 平台，以便并入在 Java Community Process SM (JCPSM http://www.jcp.org/) 之外创建的较新版本的标准（签名标准），或将该平台中所包含的技术版本更新为该技术相应的较新的独立版本（独立技术）。

> 签名标准覆盖机制提供了一种方法，可将执行签名标准或独立技术的较新版本的类和界面并入 Java 平台中。

> 有关签名标准覆盖机制的详细信息，包括该机制进行覆盖时可能用到的平台包的列表，请参见

> http://java.sun.com/javase/6/docs/technotes/guides/standards/

## Web 页

> 有关详细信息，请参阅万维网上的下列 Sun Microsystems 页面：

  http://java.sun.com/
    Java 软件 Web 站点，包含有关 Java 技术、产品信息、新闻和软件特性的最新信息。
  http://java.sun.com/docs
    JavaTM 平台文档，包含白皮书、Java 教程以及其他文档。
  http://developer.java.sun.com
    开发者服务 Web 站点（需要进行免费注册）。其他技术信息、新闻和软件特性；用户论坛；支持信息等等。
  http://java.sun.com/products/
    Java 技术产品和 API

JavaTM Development Kit (JDKTM) 是 Sun MicrosystemsTM, Inc. 的产品。
版权所有 (C) 2007 Sun Microsystems, Inc.
4150 Network Circle, Santa Clara, California 95054, U.S.A.
保留所有权利。