Java

发行版说明
JavaTM 2 SDK, Standard Edition
版本 1.3.1

 

内容

概述
Java 虚拟机
字体属性
Solaris 上的 Xserver 错误
RMI
CORBA、RMI-IIOP 和 Java IDL
Java 2DTM 技术
拖放
可访问性
AWT 和 Swing
JDBC
安全
联网
JavaTM Plug-in 组件
本地化注意事项
文档
工具无法转换 Solaris 2.6 上的日文 PCK 字符串
繁体中文文本问题
支持 Windows 2000
Windows NT 上安装

概述

Java 2 SDK Standard Edition 版本 1.3.1 (J2SDK 1.3.1) 是一个维护版本,含有以前版本中已知错误的修复。有关这些修复的详细信息,请参见
此版本中修复的错误

此外,J2SDK 1.3.1 还包含下列增强功能。

有关 Java Plug-in 产品的文档,请参见 Java Plug-in 站点

完整的 J2SDK 1.3.1 文档集可以下载。另请参见新的联机文档 Tuning Garbage Collection with the 1.3.1 Java Virtual Machine

J2SDK 1.3.1 的用户可能会对以下的说明有兴趣,包括重要错误修复的说明、已知的错误和解决方法,以及有关使用本发行版的其他各项提示和建议。

Java 虚拟机

下列说明是有关 Java 虚拟机的。

字体属性

本发行版有下列有关字体属性的问题。

Solaris 上的 Xserver 错误

在用 Java 编程语言编写的应用程序引用字体时,Solaris Xserver 错误会引起系统崩溃。 这个问题在错误报告 4391019 中说明。以下 针对 Xserver 的 Solaris 修补程序将在 2001 年 6 月中旬推出,它们会有助于减少这种问题的出现。

对于 Solaris 2.6: 105633-55 (Sparc) 106248-41 (Intel)
对于 Solaris 7: 108376-24 (Sparc) 108377-22 (Intel)
对于 Solaris 8: 108652-31 (Sparc) 108653-26 (Intel)

查看 SunSolve 网站中是否有这些修补程序。

RMI

以下为本发行版中对 RMI(远程方法调用)功能的重要更改。

CORBA、RMI-IIOP 和 Java IDL

下列注释是有关本发行版中的 CORBA、RMI-IIOP 和 Java IDL 功能。

Java 2DTM 技术

Java 2DTM 库中的错误 4178909 有时会使应用程序在运行 8 位模式时无法正确显示。 这个问题应只影响应用程序在重新启动或显示模式设为 8 位之后的第一次运行时。

还有一些与 DirectDraw 相关的错误。如果您遇到 DirectDraw 问题,应考虑关闭 DirectDraw:

-Dsun.java2d.noddraw=true

某些监视器驱动程序将会导致在访问 DirectDraw 时,监视器映像(包括窗口)会再同步或跳转。如果您看到这种情况,请查看制造商的站点是否有新版的驱动程序可解决问题。

Java 平台不支持 16 色显示。如果您在 16 色显示器上绘制图形和 GUI 组件,请尝试将色彩深度更改为 256 色或以上的模式。

拖放

下列功能已经过实施并可运作,但未经完整测试,且在本发行版中并不支持。

可访问性

AWT 和 Swing 组件有实施 Java Accessibility API 内部类,并提供适合组件的可访问性支持。不过,在本发行版中并没有完整实施下列 AWT 类的可访问性支持:
java.awt.TextComponent
java.awt.Menu
java.awt.MenuItem
java.awt.List
在将来的 Java 2 平台发行版中,将会实施所有组件的完整可访问性支持。

AWT 和 Swing

下列注释是有关本发行版中的 AWT 和 Swing 功能。

JDBC

在 Windows NT 上,JDBC 2.0 桥接支持 ODBC 2.x 和 ODBC 3.x 驱动程序管理器和驱动程序。JDBC 2.0 桥接经测试仅适用于 ODBC 3.x 驱动程序管理器以及 ODBC 2.x 和 3.x 驱动程序。

Merant 建议 JDBC 2.0 桥接与 Merant 的 DataDirect ODBC 3.5 或以上版本的驱动程序一起使用。

安全

下列为本发行版的安全相关问题。
  • 如果代码签名的证书不是自签的,jarsigner 实用程序可验证 Netscape SignTool 1.3 所签名的文件。 请注意,您可从 VeriSignTM 获取正式的 Netscape 代码签名证书。该证书是由 VeriSign 发出的。它们不是自签的。

    如果代码签名的证书是自签的,则 Netscape SignTool 1.3 不会将证书置于签名文件中, 同时如果签名文件不包含签名者的证书,jarsigner 不能验证已签名的 JAR 文件。请注意, SignTool 1.3 本身所生成的代码签名证书仅供测试,且不是自签证书。 有一个已知的问题是,如果代码签名的证书是自签测试证书,则 jarsigner 不能验证 Netscape SignTool 1.3 所签名的 JAR 文件。

  • 在 Java 2 SDK 中,应用程序类是由实际的 ClassLoader 实例装载。这使得应用程序类能够使用已安装的扩展项目,并将应用程序类路径(由用户指定)与 bootstrap 类路径(其为固定的,且用户通常不应加以修改)分开。必要的话,可使 用 -Xbootclasspath 选项来替换 boostrap 类路径。

    不过,这表示在 Java 2 SDK 中,缺省情况为应用程序类已不再具有所有许可权。相反的,依据已配置的系统安全策略授予其许可权。 这可能导致某些依据 1.0/1.1 中的原始安全模型编写其自己的安全代码的应用程序出现异常状况,且不在 Java 2 SDK 中启动。有一个解决方法是使用 oldjava 应用程序启动程序来运行这些应用程序,请转到 Java 应用程序启动程序参考页

  • 下列说明汇总与安全策略及签名相关的问题。
    • Java 2 平台所使用的缺省安全策略实施是由 Java 安全属性文件 jre/lib/security/java.security 中的 policy.provider 属性所指定的。如果您指定非缺省的安全策略实施,必须将您新的、非缺省的安全属性类文件置于 bootclasspath 上。您可使用 -Xbootclasspath 命令行选项来运行此操作。 有关此选项的信息,请参见 Java 应用程序启动程序参考页。 这将会导致策略文件由 bootstrap 类装载器所装载。如果新的缺省策略文件是置于其他位置(例如在类路径或扩展项目上), 则它将不会被取用,而会改用 sun.security.provider.PolicyFile 中提供的缺省策略。

    • 从 1.2.2 版开始,Java 2 SDK 使用新的类装载机制。在新的类装载器下, 如果属于 Jar 文件中某一软件包的任何类文件已经签名,则属于相同包的所有类文件都必须由同一个签名者签名。对于其中某包的类已签名,而另一些类未签名或由不同的签明者签名的 Jar 文件,已不能再使用。Jar 文件仍可包含未 签名的包。然而,如果有任何包包含已签名的类,则该包的所有类文件都要由同一位签名者签名。在 Java 2 平台版本中,将不能使用不符合此标准的现有 Jar 文件。

  • 当前 keytool 工具可从文件导入或打印 Base64 编码的证书,不过该文件必须以新行(换行)终止。 如果证书文件的结束部分处没有换行,而您试图导入或打印证书, 则会出现“不受支持的编码”CertificateException 或 keytool 错误消息,例如“无法分析输入”或“输入不是 X.509 证书”。

    如果出现这种消息或异常状况,则问题可能是遗漏用于终止的换行。发生这种情况的一种原因,是有时“证书认证中心”所回复的证书(响应证书签名请求)并不包含终止换行。

    在 UNIX 中,您可运行下列命令来判定文件是否有终止换行:

        od -xc <certificate_name>
    
    其中 <certificate_name> 是内含证书的文件名。比方说,如果文件名为 mycert,则命令将会是
        od -xc mycert
    
    如果产生的输出在最末端有一个 "\n"(不带双引号),则在结束部分已有一个自动换行。若非如此,可添加一个换行。

    如果您不确定证书文件是否包含终止换行,您可在后续的每个段落中都添加换行(添加更多也无妨), 然后重试 -import-printcert 命令即可。如果命令现在可行,则问题就是遗漏换行。 如果仍然出现错误,则有不同的证书问题。

    若要将换行添加到 Base64 编码的证书文件的结束部分, 请在任一文本编辑器中打开文件,将光标置于文件结尾处,然后添加换行(或回车换行),例如按键盘上的 Enter 键即可。

  • 联网

    本发行版在联网 API 方面有下列的已知错误和限制:

    如果您的应用程序使用联网类,则其在 Winsock 1.1 下可能不能稳定运行。如果您的联网应用程序必须支持 Windows 95(包含 Winsock 1.1),您会希望应用程序用户备有 Winsock 2.0(Windows NT 4.0、Windows 2000、 Windows ME 和 Windows 98 都包含 Winsock 2.0)。您可从下列网址下载 Winsock 2.0:

    http://www.microsoft.com/windows95/downloads/contents/wuadmintools/s_wunetworkingtools/w95sockets2/

    下列 URL 含有关于如何判定 Windows 95 平台上是否安装了 Winsock 2.0 组件信息:

    http://support.microsoft.com/support/kb/articles/Q177/7/19.asp

    Winsock 未升级,如果名称查阅失败,则 InetAddress.getByName 有可能会在 kernel32.dll 中崩溃。关于此错误的信息,请参见 Microsoft 站点。

    http://support.microsoft.com/support/kb/articles/Q176/3/54.ASP

    JavaTM Plug-in 组件

    下列说明是有关本版本中的 Java Plug-in 组件

    本地化注意事项

    有关本发行版中的国际语言环境支持的一般信息,请参见本地化注意事项

    文档

    下列为本发行版的文档相关说明。

    工具无法转换 Solaris 2.6 上的日文 PCK 字符串

    使用日文字符串作为 Solaris 2.6 ja_JP.PCK 语言环境上 java 命令的参数时出现错误。 要解决这个问题,请将行 89 /usr/java/bin/.java_wrapper
    exec $DEBUG_PROG "$prog" $opts "$@"
    
    变为
    exec $DEBUG_PROG $prog $opts $@
    

    繁体中文文本问题

    下列为本版本中存在的已知繁体中文本体问题。

    支持 Windows 2000

    在英文语言环境中,Java 2 SDK 的 1.3.1 版受 Windows 2000 Professional、 Windows 2000 Server、Window 2000 Advanced Server 支持。Windows 2000 的 DataCenter 修订版则不受支持。在非英文语言环境中, 仅支持 Windows 2000 的 Professional Edition。已知的 Windows 2000 问题包括:

    Windows NT 上安装

    在安装 Java Runtime Environment 的 1.3.1 版 时,C:\Winnt\Downloaded Program Files\Java Runtime Environment 1.3.1 下的 ActiveX Control 文件具有“损坏”状态。 这只是表面问题,“损坏”状态在任一情况下都没有负面影响。

    不过,若您因某些原因没有损坏状态,这里也有一个解决方法。 转到“开始 -> 运行”,然后键入 "regedit"。从 regedit 窗口,转到注册表 项 "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Code Store Database\Distribution Units\8AD9C840-044E-11D1-B3E9-00805F499D93\DownloadInformation"。双击 INF 字符串,并删除 "Value data" 下突出的字符串。ActiveX Control 文件将具有“安装”状态。


    Copyright © 2001 Sun Microsystems, Inc. All Rights Reserved.

    Sun