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


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

此自述文件的修订版适用于 IBM Runtime Environment for Linux, 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 Linux, Java(TM) 2 Technology Edition, Version 1.3.1, 32-bit version(Developer Kit for Linux)提供的 Runtime Environment for Linux 软件包的信息。

Runtime Environment 仅允许您运行 Java 应用程序。如果您要写并且然后要运行 Java 应用程序,则必须安装 Developer Kit for Linux。如果您已安装了 Developer Kit for Linux,则不需要 Runtime Environment,它是 Developer Kit 的子集。

要获取已测试的 Developer Kit for Linux 的分发列表,请参阅:
http://www-106.ibm.com/developerworks/java/jdk/linux/tested.html


内容

  • 概述
  • Runtime Environment for Linux 中包含的文件
  • 许可证协议
  • just-in-time(JIT)编译器
  • Native Method Interface 和 Java Native Interface
  • 配置 Runtime Environment for Linux
  • 安装和配置 Java Plug-in
  • 安装附加字体
  • 安装在 Red Hat 上
  • 如果使用 BEA Weblogic 的情况下安装
  • 卸载 Runtime Environment for Linux
  • 卸载 RPM 软件包
  • 卸载压缩的 TAR 软件包
  • 调用 Java 运行时解释器
  • 系统特性
  • 获取 IBM build 和版本号
  • 使用浮动堆栈
  • 在 DBCS 语言中切换输入方法
  • Devanagari 字体
  • 运行时示例
  • 在用户系统上安装应用程序
  • 指定垃圾收集策略
  • Runtime Environment for Linux 文档
  • 已知限制
  • 日语用户信息
  • 声明
  • 商标

  • 概述

    Runtime Environment for Linux 包含创建 Java Runtime Environment 以及运行 Java 程序所需类的子集。它还包含 Java Virtual Machine、Java 类和支持文件。Runtime Environment for Linux 仅包含 Java Developer Kit 中可以找到的类的子集。

    Runtime Environment for Linux 中包含的文件

    Runtime Environment for Linux 包含不可调试的 .so 文件以及需要在运行时支持程序的类文件。Runtime Environment for Linux 不包含任何的开发工具,如 appletviewer 或 javac,或仅与开发系统有关的类。

    另外,还提供与 Runtime Environment for Linux 一起使用的 Java Authentication and Authorization Service(JAAS)和 Java 通信应用程序编程接口(API)软件包。

    许可证协议

    LICENSE_xx.html 文件包含 Runtime Environment for Linux 软件的许可证协议。(xx 是语言的缩写。)

    要查看或打印许可证协议,在 Web 浏览器中打开文件。

    just-in-time(JIT)编译器

    在 Java 应用程序或小应用程序运行期间,just-in-time(JIT)编译器(libjitc.so)为在其中频繁使用的字节码序列动态生成机器代码。

    Runtime Environment for Linux 包含缺省情况下是启用的 JIT 编译器(libjitc.so)。您可以禁用 JIT 以帮助隔离 Java 应用程序、小应用程序或编译器本身产生的问题。要禁用 JIT,在 shell 提示符下输入下列:

        export JAVA_COMPILER=NONE
    

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

        export JAVA_COMPILER=libjitc.so
    

    要验证是否启用了 JIT,在 shell 提示符下输入下列:

        java -version
    

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

        JIT 已启用:jitc
    

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

        JIT 已禁用
    

    Native Method Interface 和 Java Native Interface

    本发行版中,IBM 不支持 Native Method Interface。不要在应用程序中使用此接口。

    Runtime Environment 中包含了 Java Native Interface(JNI)。要获取有关使用 JNI 的信息,参阅以下 Sun Web 站点:

    1. 单击产品和 API
    2. 单击产品组下的 Java 2 Platform, Standard Edition(J2SE)
    3. 单击当前发行版下的 Java 2 SDK, Standard Edition, v 1.3.1
    4. 单击 J2SE 1.3.1 文档下的在线浏览文档
    5. 单击功能部件指南 - Java 平台下的 Java Native Interface(JNI)

    配置 Runtime Environment for Linux

    在您安装了 Runtime Environment for Linux 后,编辑外壳程序脚本并将下列目录添加到 PATH 语句中:

    如果您已在 /opt/IBMJava2-131 目录以外的其它目录下安装了 Runtime Environment for Linux,将 /opt/IBMJava2-131 目录替换为您安装 Runtime Environment for Linux 的目录。

    安装和配置 Java Plug-in

    Java Plug-in 是与 Netscape Communicator for Linux 一起使用的 Web 浏览器插件。如果您使用 Java Plug-in,则可以忽略 Web 浏览器的缺省 Java Virtual Machine,并改为使用 Java Runtime Environment(JRE)在浏览器中运行小应用程序或 bean。

    要安装和配置 Java Plug-in:

    注:您将 javaplugin.so 文件链接到 netscape/plugins 目录后首次启动 Netscape 时,Netscape 将立即关闭。(如果您从命令行启动 Netscape,则会显示总线出错消息。)因为 Netscape 在第一次遇到此错误后将不会再遇到它,所以您可以放心地忽略此消息。

    安装附加字体

    Java 能够显示所有 Unicode 字符,但大多数 Linux 版本只安装了显示您的语言所需的字体。您可以从 IBM 下载字体,从而能看到完整的 Unicode 字符集。由于这些字体所占空间比较大,而且不是所有用户都需要,因此 Developer Kit for Linux 软件包没有包含这些字体。IBM 提供两种 Unicode 字体,并且每种字体是按各个国家或地区定制的。中国和韩国的用户应使用自己国家或地区特定的版本,所有其他用户应当使用这些字体的日语版本。

    您可以从位于 http://www.ibm.com/developer/java/ 的 developerWorks Web 站点下载这些字体。提供的字体描述将帮助您确定要下载哪些字体。

    要安装字体,将文件放到 /opt/IBMJava2-ppc-131/jre/lib/fonts 目录中。

    如果您分几部分下载了这些字体,必须先将它们合并为一个文件,其中每种字体对应一个文件。要这样做,确保这些部分在 /opt/IBMJava2-ppc-131/jre/lib/fonts 目录中,然后使用 cat 命令。

    例如,如果您分几部分下载了 Times New Roman WT J 字体,则输入下列命令将它们合并起来:

        cat tnrwt_j.t01 tnrwt_j.t02 tnrwt_j.t02 >  tnrwt_j.ttf

    安装在 Red Hat 上

    当您在 Red Hat 系统上安装时,要允许字体服务器查找 Java TrueType 字体,运行:

    su root /usr/sbin/chkfontpath --add /opt/IBMJava2-131/jre/lib/fonts

    您必须在安装时这样操作,并且必须作为 root 来运行该命令。

    如果使用 BEA Weblogic 的情况下安装

    如果您要使用 BEA Weblogic 服务器,则当您安装 Developer Kit for Linux 软件包时,必须不选中 JAAS 可选安装。BEA Weblogic 服务器包含它自已的 JAAS 实现。


    卸载 Runtime Environment for Linux

    用于除去 Runtime Environment for Liunx 的过程取决于您是否安装了 RPM 软件包或压缩的 TAR 软件包。请参阅卸载 RPM 软件包卸载压缩的 TAR 软件包,来获取说明。

    卸载 RPM 软件包

    如果您安装了 RPM 软件包,要卸载 Runtime Environment for Linux:

    1. 在提示符下,输入下列:
          rpm -qa | grep IBM
      
      将显示软件包的名称。

    2. 输入下列:
          rpm -e pkgname
      
      其中 pkgname 是显示的软件包的名称。

    卸载压缩的 TAR 软件包

    如果您安装了压缩的 TAR 软件包,要卸载 Runtime Environment for Linux:

    1. 从您安装 Runtime Environment 的目录中除去 Runtime Environment 文件。
    2. 从 PATH 语句中除去安装 Runtime Environment 的目录。
    3. 如果您安装了 Java Plug-in,则从 Netscape 目录中除去 Java Plug-in 文件。

    调用 Java 运行时解释器

    可以通过使用 java 工具在 shell 提示符下调用 Runtime Environment for Linux。

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

    -X 选项是非标准选项,并可能更改而不另行通知。


    系统特性

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


    获取 IBM build 和版本号

    要获取 IBM build 和版本号,在 shell 提示符下输入下列:

        java -version
    

    使用浮动堆栈

    某些 Linux 分发(例如,RedHat)已启用称为‘浮动堆栈’的 GLIBC 功能部件。由于 Linux 内核限制,如果内核级别小于 2.4.10,则 JVM 不会在启用浮动堆栈的 SMP 硬件上运行。此环境中,在 JVM 或任何启动 JVM 的应用程序启动之前,都必须禁用浮动堆栈。在 RedHat 上,您可以通过导出环境变量来禁用浮动堆栈,因而:

    export LD_ASSUME_KERNEL=2.2.5

    在非浮动的堆栈 Linux 系统上,无论为 -Xss 设置了什么,都为每个线程提供最小大小为 256KB 的本机堆栈。在浮动堆栈 Linux 系统上,执行 -Xss 值。因此,如果您正从非浮动的 Linux 系统上迁移,则必须确保所有的 -Xss 值都足够大,并且不接近于最小值 256KB。


    在 DBCS 语言中切换输入方法

    在双字节字符集(DBCS)系统上,如果您要切换输入方法,必须设置环境变量,让它代表您用于切换的键码。可选地,您可以设置代表键码修饰键的另一个环境变量。

    要指定用于切换的键码,将 IBMJAVA_INPUTMETHOD_SWITCHKEY 环境变量设置为 java.awt.event.KeyEvent 类中定义的键码,例如 VK_F4。

    可选地,指定键码的修饰键。要指定键码的修饰键,将 IBMJAVA_INPUTMETHOD_SWITCHKEY_MODIFIERS 环境变量设置为 java.awt.event.InputEvent 类中的下列三个掩码定义的某些组合:

    用逗号分隔掩码。

    例如,您可以将 IBMJAVA_INPUTMETHOD_SWITCHKEY_MODIFIERS 环境变量设置为 ALT_MASK, CTRL_MASK

    在 Java 初始化期间将存储这两个环境变量。

    要确保您已正确设置了环境变量,按一个键并使用指定的键组合进行检查。如果它匹配,会显示带可选输入方法的 Java 弹出菜单。


    Devanagari 字体

    此 Developer Kit 在 jre/lib/fonts 目录中不提供 Devanagari 字体(Devamt.ttf 和 Devamtb.ttf)。然而,在适当的地方 Java 使用与 IBM 平台或 IBM 软件产品一起提供的 Monotype Unicode 字体(Times New Roman WorldType 和 Sans Monospace WorldType)来支持 Devanagari(Hindi)字体。


    运行时示例

    下列 Sun Web 页面包含您可以下载的“Hello World”示例。该示例演示了如何创建在 Runtime Environment for Linux 上运行并与其捆绑在一起的简单 Java 应用程序。可以在以下 Sun Web 站点找到该示例:

    1. 单击产品和 API
    2. 单击产品组下的 Java 2 Platform, Standard Edition(J2SE)
    3. 单击当前发行版下的 Java 2 SDK, Standard Edition, v 1.3.1
    4. 单击左侧的文档下的浏览
    5. 单击 Java Runtime Environment 和 Java Plug-in 下的开发者注意事项

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


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

    在完成产品开发并准备好发行后,您需要在独立用户的系统上安装产品,配置用户系统来支持您的软件以及配置运行时环境。

    如果您使用 Runtime Environment for Linux,则必须确保您的安装过程没有覆盖现有的安装(除非现有的 Runtime Environment for Linux 是旧版本)。

    要再分发 Runtime Environment for Linux,您可以在自己的系统上安装它,然后将需要的 Runtime Environment 文件复制到您的安装集。如果您选择此方法,您必须包含 Runtime Environment for Linux 提供的所有文件。如果包含了所有文件,才可以再分发 Runtime Environment for Linux 软件。实际上,当发行您的应用程序时,它将包含自已的 Runtime Environment for Linux 副本。

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


    指定垃圾收集策略

    IBM Runtime Environment for Linux, Java 2 Technology Edition, V1.3.1 引入 -Xgcpolicy JVM 运行时选项,用于指定垃圾收集策略。

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

    选项的格式和其值是:

    -Xgcpolicy:optthruput
    -Xgcpolicy:optavgpause

    暂停时间

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

    减少暂停时间

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

    具有很满的堆的环境

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

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

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


    Runtime Environment for Linux 文档

    IBM 提供下列运行时文档:


    已知限制

    日语用户信息

    在 Linux 的日语版中,可以使用诸如 Canna、ATOK12 SE、Wnn4 或 Wnn6 的日语输入方法。使用下列部分避免在使用这些日语输入方法时出现的问题。

    适用于所有输入方法编辑器(IME)用户

    Canna 用户

    如果您正在使用带 kinput2 输入方法服务器的 Canna 输入方法,当您处于 KIGOU 输入方式时,来自输入方法的一些可视反馈可能将不可见。要避免此问题,请在辅助控制窗口打开后将焦点移到客户机窗口。

    ATOK12 SE 用户

    Wnn4 用户

    如果您正在使用 Wnn4,当激活输入方法编辑器(IME)时,Enter 键不会创建新行和回车。要创建新行和回车,释放 IME。

    Wnn6 用户

    不支持 xwnmo 输入方法服务器。使用 kinput2 作为输入方法服务器。

    Wnn4、Wnn6 或 Canna 用户

    如果您正将 kinput2 用作输入方法服务器,不要最小化也不要最大化显示 kinput2 查询窗口的 Java 窗口。

    如果您最小化 Java 窗口:
    当恢复 Java 窗口时,您可以查看 kinput2 查询窗口,但您无法访问它。如果出现此情况,重新启动 Java 应用程序。
    如果您最大化 Java 窗口:
    当恢复 Java 窗口时,查询窗口有时将位于屏幕外。如果出现此情况,执行下列操作之一:

    声明

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

    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. 所有并独家授权。

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