IBM(R) Runtime Environment for Windows(R), Java (TM) 2 Technology Edition, Version 1.3.1, 32-bit version
- 自述文件 -


:在使用本资料及其支持的产品之前,确保阅读声明中的一般信息。

自述文件的此修订版适用于 IBM Developer Kit for Windows, Java 2 Technology Edition, Version 1.3.1, 32-bit version 及其所有后继发行版和修正,除非在新修订版中另有说明。

(c) Copyright Sun Microsystems, Inc. 1997, 2001, 901 San Antonio Rd., Palo Alto, CA 94303 USA. All rights reserved.

(c) Copyright International Business Machines Corporation, 1999, 2002. All rights reserved.

U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.


此自述文件提供有关与 IBM(R) Developer Kit for Windows(R), Java(TM) 2 Technology Edition, Version 1.3.1, 32-bit version 一起提供的 Runtime Environment 软件包的信息。如果您计划将 Runtime Environment 与您的产品一起分发,使用此自述文件。

Runtime Environment 在下列产品上受支持:


内容

  • 概述
  • Runtime Environment 中包含的文件
  • just-in-time(JIT)编译器
  • 禁用 JIT
  • 启用 JIT
  • 确定是否启用了 JIT
  • 获取 IBM build 和版本号
  • 调用 Runtime Environment
  • 再分发要求
  • Java 运行时解释器
  • 系统特性
  • 运行时示例
  • 在用户系统上安装应用程序
  • 指定垃圾收集策略
  • 暂停时间
  • 减少暂停时间
  • 具有很满的堆的环境
  • 有关垃圾收集的进一步信息
  • 用本机辅助技术运行 Java 应用程序
  • 运行时文档
  • 声明
  • 商标

  • 概述

    Runtime Environment 包含 Java Virtual Machine(JVM)、Sun Microsystems Java 类和支持文件。Runtime Environment 并未包含所有可以在 Developer Kit 中找到的类。


    Runtime Environment 中包含的文件

    Runtime Environment 包含在运行时支持 Java 程序的 .dll 文件和类。Runtime Environment 不包含任何开发工具(例如:appletviewer 或 javac),或仅与开发系统有关的类。

    请参阅再分发要求,以获取有关必须与 Java 程序一起再分发的文件的信息。


    just-in-time(JIT)编译器

    执行期间,JIT 编译器为 Java 应用程序或小应用程序中频繁使用的字节码序列动态地生成机器代码。缺省情况下,启用 JIT 编译器(jitc.dll)。

    禁用 JIT

    您可以禁用 JIT 以帮助隔离 Java 应用程序、小应用程序或编译器本身发生的问题。

    可有两种方法来禁用 JIT:

    启用 JIT

    要启用 JIT,在命令提示符下输入下列:

        set JAVA_COMPILER=jitc
    

    确定是否启用了 JIT

    要验证是否已经启用了 JIT,在命令提示符下输入下列:

        java -version
    

    如果正在使用 JIT,将显示包含下列的消息:

        JIT 已启用:jitc
    

    如果未使用 JIT,将显示下列消息:

        JIT 已禁用
    

    获取 IBM build 和版本号

    可以通过在命令提示符下输入下列来获取 IBM build 和版本号:

        java -version
    

    调用 Runtime Environment

    要运行 Java 应用程序,在命令提示符下输入下列:

        java classname
    

    其中 classname 是您要运行的 Java 类文件(Java 应用程序)的名称。要获取有关调用 java 工具时可以使用的参数信息,请参阅 Java 运行时解释器

    注:如果您没有将 Runtime Environment 安装为 System JVM,必须首先设置包含适当目录的路径。要更新路径,在命令提示符下输入下列:

        set path=javadir\jre\bin;%path%
    

    其中 javadir 是安装 Runtime Environment 软件包的目录。缺省情况下,此目录是 C:\Program Files\IBM\Java131


    再分发要求

    当您再分发 Runtime Environment 时,您必需包含下列软件包中的文件:

    要获取关于必须再分发的文件的特定信息,请参阅本产品自带的许可证协议。

    术语必需意味着分发运行时的被许可方必须在他们的程序中包含那些文件,无论这些程序究竟是否使用那些文件。

    Runtime Environment 包含 \bin 和 \lib 目录及其子目录。这两个目录及其子目录必须驻留在相同的目录中。bin 目录包含可执行文件和本机库。lib 目录包含类和特性文件。

    再分发时需要 bin 和 lib 目录中的所有文件。

    注:本机代码 C 运行时库 msvcrt.dll 在 Windows 系统目录中。确保文件在您的 Windows 系统目录中。取决于不同的操作系统,此目录的位置也不同,但通常的情况是:


    Java 运行时解释器

    java 工具调用 Java 运行时解释器来执行 Java 应用程序。启动 java 工具的语法按如下所示:

    可以用 javaw 来代替 java 工具。除了它不调用控制台窗口之外,javaw 工具等同于 java 工具。启动 javaw 工具的语法按如下所示:

        javaw [options] classname <args>
    

    java 工具的选项按如下所示:


    系统特性

    可以使用 Java 运行时解释器部分中所述的 -D 选项来设置系统特性 ibm.jvm.bootclasspath。此特性的值用作附加的搜索路径,插入到由 -Xbootclasspath/p: 定义的任何值和 bootclass 路径之间。bootclass 路径是缺省值,或是使用 -Xbootclasspath: 选项定义的。


    运行时示例

    Sun Web 页面包含“Hello World”示例。该示例演示了如何创建在 Java Runtime Environment 上运行并与其捆绑在一起的简单 Java 应用程序。Sun Web 站点是 http://java.sun.com 并且您还可以通过搜索“Hello World”和“开发者注意事项”来查找“Hello World”。

    该示例显示如何从使用 Developer Kit 开发应用程序,到使用 Runtime Environment 部署应用程序,建立简单、无缝的转换。


    在用户系统上安装应用程序

    在您的产品中,您必须提供方法来:

    如果您再分发 Runtime Environment,必须确保安装过程没有覆盖现有的安装(除非现有的 Java Runtime Environment 是旧版本)。

    首选的方法是将文件包含在可再分发的 Runtime Environment zip 文件(ibm-jre-n131p-win32-x86.zip)中,并将它们安装在相同的目录结构中。确保包含 bin 和 lib 目录及其子目录中的所有文件。再分发要求中描述了这些目录。只有在包含了所有这些文件的前提下才能再分发 Runtime Environment 软件。实际上,当发行您的应用程序时,它将包含自已的 Runtime Environment 副本。

    如果您使用这个方法,不要尝试仿效 Runtime Environment 安装程序执行的安装步骤。

    注:当您安装 Runtime Environment 时,必须将程序信息记录到 Windows 注册表,按如下所示:


    指定垃圾收集策略

    此 Developer Kit 引入 -Xgcpolicy JVM 运行时选项,用于指定垃圾收集策略。

    -Xgcpolicy 有两个值,optthruput(缺省值)和 optavgpause。该选项控制垃圾收集器的行为,在应用程序和整个系统的吞吐量以及由于垃圾收集引起的暂停时间之间进行权衡。

    选项的格式和其值是:

    -Xgcpolicy:optthruput
    -Xgcpolicy:optavgpause

    暂停时间

    当应用程序尝试创建的对象无法立即满足堆中的可用空间时,垃圾收集器就负责标识非参考对象(垃圾)、删除它们并返回堆到可以快速满足立即和后继分配请求的状态。这样的垃圾收集循环引起了应用程序代码执行中的偶发的意外暂停。当应用程序的大小和复杂程度有所增加并且堆也相应扩大时,此垃圾收集暂停时间会倾向于大小和重要性的增长。缺省垃圾收集值 optthruput 发送很高的吞吐量给应用程序,但它是以这些偶发的暂停为代价的,取决于堆的大小和垃圾的数量,这些暂停可能为几毫秒也可能长达好几秒。

    减少暂停时间

    optavgpause 值大大地减少了这些垃圾收集暂停占用的时间,也限制了一段垃圾收集暂停时期内,增加堆大小的效果。这特别关系到那些有大的堆的配置。(当它至少为 1 GB 时,认为它是大的堆。)通过重叠常规程序执行的垃圾收集活动来减少暂停时间。这样的重叠导致应用程序吞吐量的少量缩减。

    具有很满的堆的环境

    如果 Java 堆快满了,并且几乎没有要回收的垃圾,请求新对象可能不会被很快地满足,因为没有立即可用的空间了。如果在容量接近于满时操作堆,无论使用上述的哪个选项,应用程序性能都可能会受损;另外,如果继续请求更多的堆空间,则应用程序会接收到内存不足异常,如果未捕获和处理异常的话,这将导致 JVM 终止。在这些情况下,建议您使用 -Xmx 选项增加堆大小或减少使用中的应用程序对象的数目。

    有关垃圾收集的进一步信息

    要获取堆大小调整以及应用程序性能的垃圾收集蕴涵,请参阅:


    用本机辅助技术运行 Java 应用程序

    Sun 提供了 Java Access Bridge,这样本机 Windows 辅助技术(诸如屏幕阅读器)就能访问 Java 应用程序中的 Java 可访问支持。必须编写这些本机 Windows 辅助技术来调用 Java Access Bridge。

    Sun 提供的 Java Access Bridge 包含一个安装程序,它将下列五个文件放到正确的目录中:access-bridge.jar、jaccess.jar、accessibility.properties、JavaAccessBridge.dll 和 WindowsAccessBridge.dll。

    如果您已安装了 IBM 可访问网桥(JawBridge),其允许 Windows 2000 Magnifier 与 Swing 应用程序一起运行,并且如果您需要它与 Java Access Bridge 同时运行,编辑 accessibility.properties 文件中内容为下列的访问行:

    assistive_technologies=com.sun.java.accessibility.AccessBridge, JawBridge# 开头注释掉到该行可以使得 AccessBridge 和 JawBridge 无法运行。

    此 Web 站点指导您如何下载 Java Access Bridge:


    运行时文档

    每个特性文件都包含描述此文件用途和修改方法的注释。


    声明

    本信息是为在美国提供的产品和服务编写的。

    IBM 可能在其它国家或地区不提供本文档中讨论的产品、服务或功能特性。有关您当前所在区域的产品和服务的信息,请向您当地的 IBM 代理咨询。任何对 IBM 产品、程序或服务的引用并非意在明示或暗示只能使用 IBM 的产品、程序或服务。只要不侵犯 IBM 的知识产权,任何同等功能的产品、程序或服务,都可以代替 IBM 产品、程序或服务。但是,评估和验证任何非 IBM 产品、程序或服务,则由用户自行负责。

    IBM 公司可能已拥有或正在申请与本文档内容有关的各项专利。提供本文档并未授予用户使用这些专利的任何许可证。您可以用书面方式将许可证查询寄往:

    有关双字节(DBCS)信息许可证查询,请与您所在国家或地区的 IBM 知识产权部门联系,或用书面方式将查询寄往:

    本条款不适用联合王国或任何这样的条款与当地法律不一致的国家或地区:

    国际商业机器公司以“仅此状态”的基础提供本出版物,不附有任何形式的(无论是明示的,还是默示的)保证,包括(但不限于)非侵权性、适销性和适用于某特定用途的默示保证。有些国家或地区在某些交易中不允许免除明示或默示的保证。因此本条款可能不适用于您。

    本信息中可能包含技术方面不够准确的地方或印刷错误。此处的信息将定期更改;这些更改将编入本资料的新版本中。IBM 可以随时对本资料中描述的产品和/或程序进行改进和/或更改,而不另行通知。

    本信息中对非 IBM Web 站点的任何引用都只是为了方便起见才提供的,不以任何方式充当对那些 Web 站点的保证。该 Web 站点中的资料不是 IBM 产品资料的一部分,使用那些 Web 站点带来的风险将由您自行承担。

    IBM 可以按它认为适当的任何方式使用或分发您所提供的任何信息而无须对您承担任何责任。

    本程序的被许可方如果要了解有关程序的信息以达到如下目的:(i) 允许在独立创建的程序和其它程序(包括本程序)之间进行信息交换,以及 (ii) 允许对已经交换的信息进行相互使用,请与下列地址联系:

    只要遵守适当的条件和条款,包括某些情形下的一定数量的付费,都可获得这方面的信息。

    本资料中描述的许可程序及其所有可用的许可资料均由 IBM 依据 IBM 客户协议、IBM 国际程序许可证协议或任何同等协议中的条款提供。

    此处包含的任何性能数据都是在受控环境中测得的。因此,在其它操作环境中获得的数据可能会有明显的不同。有些测量可能是在开发集的系统上进行的,因此不保证与一般可用系统上进行的测量结果相同。此外,有些测量是通过推算而估计的,实际结果可能会有差异。本文档的用户应当验证其特定环境的适用数据。

    涉及非 IBM 产品的信息可从这些产品的供应商、其出版说明或其它公开获得的资料中获取。IBM 没有对这些产品进行测试,也无法确认其性能的精确性、兼容性或任何其它关于非 IBM 产品的声明。有关非 IBM 产品性能的问题应当向这些产品的供应商提出。


    商标

    IBM 是国际商业机器公司在美国和/或其它国家或地区的商标。

    Java 和所有基于 Java 的商标和徽标是 Sun Microsystems, Inc. 在美国和/或其它国家或地区的商标或注册商标。Java 技术由 Sun Microsystems, Inc. 所有并独家授权。

    Microsoft、Windows、Windows NT 和 Windows 徽标是 Microsoft Corporation 在美国和/或其它国家或地区的商标。

    其它公司、产品和服务的名称可能是其它公司的商标或服务标记。