Release Notes
Java 2 SDK, Standard Edition
Version 1.4.1

Japanese

Contents

Overview
Java Plug-in Technology
AWT
Java 2D Technology
Swing
Security
CORBA, Java IDL, and Java RMI-IIOP
Virtual Machines
New I/O (NIO) APIs
Java Naming and Directory Interface API
Java Media Framework Bug Affecting Java Sound
Comformance on Solaris with OpenWindows
Platform Time Zone Detection on Microsoft Windows
Applet Notes
Windows XP with Samba Mounted Drives
Linux Notes
Sun ONE Studio (formerly Forte for Java) and NetBeans
Tools and Utilities
Notes on Japanese Locale
Serialization
Solaris 2.6 Operating Environment Not Supported
Floating-Point Exceptions

Overview

The Java 2 SDK, Standard Edition, v1.4.1 is an upgrade release of the Java platform containing new features and enhancements in many functional areas. This release has version number 1.4.1-b21. To determine the version number of your J2SE software, use the following command:
java -version

Refer to the following links for more details:

Changes in Java 2 SDK 1.4.1

Bug Fixes in the Initial 1.4.1 Release (1.4.1/fixedbugs/index.html)

Bug Fixes in Subsequent 1.4.1 Update Release Versions

Compatibility between J2SDK 1.4.1 and Previous Releases

The notes in the following sections describe known bugs, workarounds, and other important issues to be aware of in this release.

Java Plug-in Technology

Using Java Plug-in 1.4.1 in conjunction with Netscape TM 6.x browsers can cause erratic behavior, including closure of the browser window, for applets that invoke applet functions from Javascript. This problem is due to a bug in the browser, and you can avoid this problem by using Netscape 7.0 browsers.

A Java Plug-in cache problem exists that can cause an "java.lang.IllegalStateException: zip file closed" exception to occur. See Applet Notes.

AWT

The following notes pertain to AWT functionality in this release.

Java 2D Technology

On Microsoft Windows platforms, Java 2D functionality in J2SE 1.4.1 is implemented using DirectDraw and Direct3D for various offscreen rendering functions. Bugs in some Direct3D drivers can cause a system crash (blue screen). If you encounter this problem while running a graphical application, consider updating your driver (the latest drivers for a particular card are usually available on the website of your computer, video card, or video chip manufacturer, such as http://www.nvidia.com or http://www.atitech.com).

One example of a known problem is that using Direct3D on some small subset of Windows 2000 systems has been known to cause a system crash. You can also try launching your application with the following command-line flag set:

-Dsun.java2d.d3d=false
This forcibly disables our use of Direct3D and avoids any Direct3D-specific problems.

You can also try the following flag:

-Dsun.java2d.ddoffscreen=false
This flag disables our use of DirectDraw and Direct3D for offscreen images (such as the Swing back buffer).

If problems persists, try launching the application with this flag:

-Dsun.java2d.noddraw=true
This flag disables our use of DirectDraw and Direct3D completely and thus avoids any problems you may be seeing associated with our use of those APIs and their respective drivers on your system.

For more information about performance-related flags, see Flags for Controlling Performance and Quality, a section in the High Performance Graphics white paper (also available in PDF format).

Swing

Security

The following notes pertain to Security functionality in this release.

com.sun.net.ssl.dhKeyExchangeFix
 true  Use the correct behavior. (Interoperable with JSSE 1.0.3)
 false  Use the "broken" behavior. (Interoperable with JSSE 1.0, 1.0.1, and 1.0.2)

For backwards compatibility, the SunJSSE provider in J2SDK 1.4 and above also has this property; its default value is true.

 Release  Default Behavior  Switch
 J2SDK 1.4.0/above  correct  true
 JSSE 1.0.3  correct  true
 JSSE 1.0.2  broken  false
 JSSE 1.0.1  broken  N/A
 JSSE 1.0  broken  N/A

com.sun.net.ssl.rsaPreMasterSecretFix
true  Use the correct RFC 2246 behavior
false  Use the incorrect behavior.

Given that most servers accept either message type, for interoperability with servers using SunJSSE in J2SDK 1.4.0 the current default is false:

 Release  Default Behavior  Switch
 J2SDK 1.4.1  incorrect  false
 J2SDK 1.4.0  incorrect  N/A


CORBA, Java IDL, and Java RMI-IIOP

Limitations for Java IDL and Java RMI-IIOP - For information on limitations regarding the use of Java IDL and Java RMI-IIOP, please read the document (1.4.1/docs/guide/idl/limitations.html) Limitations for Java IDL and Java RMI-IIOP.

Virtual Machines

The following notes pertain to the Java HotSpot virtual machines (VMs) in this release.

New I/O (NIO) APIs

The following notable NIO bugs have been fixed in 1.4.1:

The following bug still exists in 1.4.1:

For information about NIO, see the main (1.4.1/docs/guide/nio/index.html) and supplemental NIO documentation.

Java Naming and Directory Interface API

The following notes pertain to JNDI functionality.

Java Media Framework Bug Affecting Java Sound

Bug 4387291 in Java Media Framework (JMF) 2.1 and earlier versions prevents the output of sound when using Java 2 SDK 1.4.1. To avoid this problem, use JMF 2.1.1 (or later) in which this bug has been fixed.

Conformance on Solaris with OpenWindows

When running the J2SE 1.4.1 platform on the Solaris operating environment, behavior in conformance with the Java 2 Platform specification is not guaranteed when using OpenWindows. In particular, some APIs related to handling focus, such as the Component.requestFocus() (1.4.1/docs/api/java/awt/Component.html#requestFocus()) method, fail when using OpenWindows. This problem is due to a bug in OpenWindows. See the bug description for 4505899 for more information.

This bug does not exist in the CDE window manager.

Platform Time Zone Detection on Microsoft Windows

If you select a time zone that doesn't observe daylight saving time (e.g., Tokyo Standard Time) on installation of a Microsoft Windows operating system, that selection may turn off the global system setting "Automatically adjust clock for daylight saving changes." Under this setting, the Java runtime detects the platform time zone in the GMT offset format (e.g., "GMT+09:00"), not as a time zone ID (e.g., "Asia/Tokyo"). To fix this installation problem, take the following steps after the installation (unless you intend to turn off the setting):
  1. Open Date/Time in Control Panel.
  2. On the Time Zone tab, choose a time zone that observes daylight saving time (e.g., "(GMT-08:00) Pacific Time (US & Canada); Tijuana"), select the "Automatically adjust clock for daylight saving changes" check box, and press the Apply button.
  3. Choose your time zone back and press the OK button.

Applet Notes

The following notes pertain to running applets on the J2SE 1.4.1 platform.

Windows XP with Samba Mounted Drives

When using Windows XP (either 32 and 64-bit version) with Samba mounted drives, if the FileOutputStream(name) constructor is called and an empty directory with the same name exists, the directory will be deleted. This is not a bug in the J2SE platform, but it is being tracked as bug report 4693219.

Linux Notes

The following notes apply to use of this release on Linux platforms.

See also the Known Problems section of the Linux Installation Notes.

Sun ONE Studio (formerly Forte for Java) and NetBeans

Sun ONE Studio 3.0, Community Edition and NetBeans 3.2.1 will work in conjunction with the Java 2 SDK 1.4.1. However, Forte for Java 2.0 and NetBeans 3.2 do not work with Java 2 SDK 1.4.1.

Tools and Utilities

The following notes pertain to the tools and utilities in this release.

Notes on Japanese Locale

Because Red Hat 7.* on Japanese does not have a TrueType font for JIS X 0201 by default, the Japanese font properties file, font.properties.ja, does not include any definition for JIS X 0201. The workaround is to install a TrueType JIS X 0201 font and modify the font.properties.ja file accordingly.

Serialization

Instances of java.lang.Throwable and subclasses (including all exceptions) serialized by Java 2 SDK 1.4.0 or 1.4.1 cannot be deserialized by the Microsoft Windows JDK 1.1 implementation used by Internet Explorer browsers. Deserialization of such objects results in a ClassNotFoundException being thrown. This issue is described in bug report 4634165.

Solaris 2.6 Operating Environment Not Supported

The Solaris 2.6 Operating Environment is not a supported platform for J2SE 1.4.1. One ramification of this is that support for Motif 1.2 in the J2SE 1.4.1 platform has been dropped.

Floating-Point Exceptions

A processor's floating-point unit (FPU) usually has a control word which affects its behavior on certain floating-point events, such as overflow (generating a result too large to represent as a finite value), underflow (generating an especially small result), and divide by zero (e.g. 1.0/0.0). Java precisely defines the outcome of these events; Java uses the default returns values from the IEEE 754 floating-point standard. For example, overflow and divide by zero generate either positive or negative infinity. Other language environments may allow different outcomes from such events; for example, instead of returning an infinity, dividing by zero could generate an exception and stop the program. If a program with different floating-point semantics is called from a Java program, the called program may alter the FPU control word to implement its own semantics. However, such a called program should restore the FPU control word to its previous value. If the called program does not restore an altered FPU control word, and Java program could terminate with an improper floating-point exception after the external program exited. However, some commercial dlls are known not to restore the FPU control word to its previous value when they return to the calling thread. If your program terminates with a floating-point exception, you should consider this possibility as the source of the problem.

See bug 4644270 as an example of this issue.


Copyright 2004 Sun Microsystems. All rights reserved.