                                                 Release Notes
                                               Compaq Java 2 SDK
[COMPAQ]                              Standard Edition (J2SDK), v 1.2.2-12
                                           for Compaq Tru64 UNIX

  ------------------------------------------------------------------------

Contents

   * Introduction
   * J2SDK v 1.2.2 New Features
        o Features of the J2SDK v 1.2.2-6
   * Fixed Problems
        o Problems Fixed in J2SDK v 1.2.2-12
        o Problems Fixed in J2SDK v 1.2.2-8
        o Problems Fixed in J2SDK v 1.2.2-7
        o Problems Fixed in J2SDK v 1.2.2-6
        o Problems Fixed in J2SDK v 1.2.2-3
        o Problems Fixed in J2SDK v 1.2.2-1
   * Compatibility
   * Known Issues
   * Installation
        o Tru64 UNIX Patches
        o Installing the Kit
        o Deinstalling the J2SDK v 1.2.2 Kit
        o Deinstalling Other Versions
   * Using Multiple Versions
        o Using J2SDK v 1.2.2 and JDK 1.1.n on the Same System
        o Changing Your PATH to Use J2SDK v 1.2.2
        o Making J2SDK v 1.2.2 the Default Java
        o Switching the Default Version
        o Troubleshooting Multiple Versions
   * Using the Java 2 SDK on Tru64 UNIX Systems
        o Using J2SDK v 1.2.2
             + To Determine Your Current Java Version
             + To Determine Your Default Java Version
        o Controlling Heap Size
        o Controlling Stack Size
        o Mandatory Flag for Compiling C/C++ Code for JNI on Tru64 UNIX
        o Enhanced Font Support
             + New font.properties File
             + Retired Fonts
             + Troubleshooting
   * The Java Platform Debugger Architecture
   * Prior Releases
        o Features of the J2SDK 1.2.1 Release
   * Documentation and Other Information
        o Documentation
        o More Information
   * Problem Reporting

Introduction

Thank you for downloading the Compaq Java 2 SDK, Standard Edition
(J2SDK), v 1.2.2-12 kit for Compaq Tru64 UNIX. These release notes
contain installation instructions, known issues, new features, and other
information specific to the Tru64 UNIX port of the Java 2 SDK.

This kit installs J2SDK v 1.2.2-12, an update to J2SDK v 1.2.2-8. The J2SDK
v 1.2.2-12 update kit is based on the J2SDK 1.2.2_009 Solaris Reference
Release from Sun Microsystems. This kit includes all the functionality and
bug fixes that are in Sun Microsystems J2SDK v 1.2.2 and passes all the
tests in Sun's Java Compatibility Kit test suite (JCK v 1.2.2). Use the
java -version command to check the version of the JDK that you are using.

This kit can be used to develop and run Java applets and programs on Tru64
UNIX V4.0F, V4.0G, or V5.0 and higher. If you need to upgrade your version
of DIGITAL UNIX, please refer to the Compaq Tru64 UNIX web site for
additional information.

Because these release notes are provided in both .txt and .html format, the
URLs for hyperlinks within this file are explicitly stated, or "installed
files" are referenced (see the Documentation section of these release
notes).

IMPORTANT: Please make sure you understand the Copyright (COPYRIGHT,
installed file) and License (LICENSE, installed file) information before
using this release.

J2SDK v 1.2.2 New Features

This kit installs the Java 2 SDK version 1.2.2-12. The J2SDK v 1.2.2-12
release is primarily a bug-fix release and includes no new features. The
following sections provide important information about new features in
previous releases of the Compaq J2SDK v 1.2.2.

See Fixed Problems for a description of problems fixed in this release.

The J2SDK v 1.2.1 release contained a number of changes from 1.1.n. For
more information, refer to the Prior Releases section of these release
notes.

Features of the J2SDK v 1.2.2-6

The J2SDK v 1.2.2-6 release included the following feature from Compaq:

   * This J2SDK v 1.2.2 kit includes support for the Java Platform Debugger
     Architecture (JPDA). JPDA is a new debugging architecture that is
     intended to support debuggers and related software development tools.
     For more information on JPDA see the section, Java Platform Debugger
     Architecture.

Fixed Problems

This kit installs the Java 2 SDK version 1.2.2-12. The following sections
provide important information about problems fixed in current and previous
releases of the J2SDK v 1.2.2. Additionally, Sun Microsystems provides a
list of Changes and Release Notes that you should review before installing
this kit.

Problems Fixed in J2SDK v 1.2.2-12

The following problems have been fixed by Compaq in the J2SDK v 1.2.2-12
release:

   * Many improvements have been made to J2SDK V1.2.2 handling of Chinese
     and Japanese fonts.

   * A problem that caused the Java Virtual Machine to seg fault has been
     fixed.

   * A problem that caused Java method Runtime.exec() to occasionally hang
     has been fixed.

See sun_changes_1_2_2_009.txt for a list of other problems fixed by Sun in
the 1.2.2_009 Solaris Reference Release.

Problems Fixed in J2SDK v 1.2.2-8

The following problem has been fixed by Compaq in the J2SDK v 1.2.2-8
release:

   * A problem occurred in the Java VM sysThreadFree() function that did
     not destroy a conditional variable and mutex, subsequently resulting
     in a memory leak error. This problem has been corrected.

Problems Fixed in J2SDK v 1.2.2-7

The J2SDK v 1.2.2-7 kit is based on the J2SDK 1.2.2_005 Solaris Reference
Release from Sun Microsystems and is provided for your use on Compaq Tru64
Alpha UNIX systems. This kit also fixes the following problems:

   * A correction was made to the Numeric Keypad so that it works correctly
     in the context of AWT classes when the Num Lock key is set.

   * A correction was made for JTextField and JTextArea classes so that the
     Caps Lock key works correctly when displaying on Motif or CDE.

   * A correction was made for JTextField and JTextArea classes so that the
     Backspace and Delete keys work correctly.

   * Previously, a problem occurred where some Japanese characters were not
     displayed correctly. This problem has been fixed.

   * Starting with this release, the JDBC-ODBC Bridge Driver can now be
     used by Java applications running on Tru64 UNIX to access an ODBC data
     source using ODBC. The ODBC data source can be located on any platform
     for which suitable ODBC data access software is available.

     For example, the JDBC-ODBC Bridge driver can be used to access a
     Microsoft Access database on a Windows NT server from a Java
     application running on a Tru64 UNIX client. In this case, the Merant
     (INTERSOLV) SequeLink Server for Windows NT (SequeLink ODBC Edition
     4.5) would have to be properly installed, configured, and running on
     the Windows NT server where the Microsoft Access database is located.
     Additionally, the Merant DataDirect SequeLink ODBC Edition Client for
     Tru64 UNIX would have to be properly installed and configured on the
     Tru64 UNIX client machine where the Java application is running.

     For more information about ODBC and JDBC Software for Tru64 UNIX,
     refer to the Compaq Data Access Software for Tru64 UNIX web page.

Problems Fixed in J2SDK v 1.2.2-6

The following problems were fixed by Compaq in the J2SDK v 1.2.2-6 release:

   * Previously, calls to Thread.sleep() could cause a memory leak. This
     problem has been fixed.

   * Previously, a memory synchronization problem could result in an
     intermittent segmentation fault or an illegal instruction fault when
     running Java programs on multi-processor systems. This problem has
     been fixed.

   * With prior kits, the use of the -Xrunhprof:cpu=samples option could
     cause the java command to hang. This problem has been fixed. (Note,
     however, that the -Xrunhprof;cpu=times option does not work.)

   * In the past, the numeric keypad keys did not work properly when the
     Num-Lock was on. This problem has been fixed.

   * Previously, the "new" operator would silently fail when allocating a
     very large array. This problem has been fixed.

Problems Fixed in J2SDK v 1.2.2-3

The J2SDK v 1.2.2-3 kit is based on the J2SDK v 1.2.2-004 patch version
from Sun Microsystems and is provided for your use on Compaq Tru64 Alpha
UNIX systems. This patch version fixes the following problems:

   * Corrections for the following date problems:

        o Sun bug 4237348 - Correct documentation of java.util.Date.parse()
          method for 2-digit years.

        o Sun bug 4208960 - Correct problem where TimeZone.getOffset
          doesn't work with February 29th.

        o Sun bug 4254589 - Correct documentation for GregorianCalendar to
          specify behavior for leap year.

For a more complete description of Sun bugs, access the Sun Java Developer
Connection web site and click on "Bug Database".

The Java 2 SDK version 1.2.2-3 kit also includes the following improvements
over the original Compaq J2SDK v 1.2.2-1 release:

   * Previously, when using the eXcursion window manager, the following
     would occur:

        o A frame would jump back to a previous location.
        o A ComponentMoved event was not being recognized.

     These problems have been fixed. The frame no longer jumps and the
     ComponentMoved events are now recognized for a frame.

   * Previously, when using the Motif window manager or eXcursion window
     manager, the titlebar and border of the window frame would
     occasionally appear off the screen. This problem has been fixed.

   * The Java 2 SDK v 1.2.2-3 kit now provides font properties files to
     correctly support the display of Japanese and Chinese text.

Problems Fixed in J2SDK v 1.2.2-1

The following problems were fixed by Compaq in the J2SDK v 1.2.2-1 release:

   * Previously, when remotely displaying to a Tru64 UNIX machine, the
     components (such as JPEGs, GIFs, and Swing components) of a top-level
     window might not display properly. This problem has been fixed.

   * In previous versions, a window containing a line of extra pixels might
     display on the screen. Your application would still function properly.
     However, to clear these pixels, you had to manually drag one of the
     window's borders so that the display was repainted. This problem no
     longer occurs.

   * In the past, a dialog box was displayed where some of its components
     appeared to be cropped or missing when those components were
     positioned on the right or bottom edges of the dialog box. This
     problem also occurred if you used Symantec Visual Cafe to generate
     the Java code for you. This problem has been corrected.

Compatibility

J2SDK v 1.2.2 is 100% compatible with previous versions of the Java 2 SDK.
However, J2SDK v 1.2.2 is not 100% compatible with JDK 1.1.n. In some
cases, Java class files generated by JDK 1.1.n will not execute under J2SDK
v 1.2.2, and vice-versa. To allow users to continue to use applications
that depend on JDK 1.1.n:

   * The J2SDK v 1.2.2 release is designed to work on the same system that
     contains an earlier version of the JDK (such as 1.1.7 or 1.1.8). You
     do not need to deinstall version 1.1.n to try the J2SDK v 1.2.2.

   * This kit does not necessarily install J2SDK v 1.2.2 as the default
     version on the system. You may need to define your PATH environment
     variable or make J2SDK v 1.2.2 the system default before you can use
     J2SDK v 1.2.2. See Using Multiple Versions.

For more information on compatibility with previous versions of the Java 2
SDK, refer to Sun's Java 2 SDK Compatibility with Previous Releases web
page.

Known Issues

There are some known problems in this release. They are:

   * Some graphics operations are slower in the J2SDK v 1.2.2 than they
     were in the 1.1.n JDKs.

     With the Java 2 platform, Sun has changed the underlying architecture
     of the graphics subsystem. In JDK 1.1.n, more of the graphics
     operations were done using native code. For example, the drawLine()
     method would result in a call to XDrawLine. With Java 2, the rendering
     of graphics has been moved to Java code, which computes the image and
     sends the pixels out to the display. As a result, the performance of
     graphical operations can be slower with J2SDK v 1.2.2, particularly
     when displaying to a remote machine. The slow performance that you see
     with some graphics operations is not specific to the Compaq Java 2
     SDK, but is inherent in the architecture of Java 2 at this time.

     Sun has received a number of bug reports on this performance problem.
     For example, see the following list of bug reports in the Bug Database
     at the Java Developer Connection web site: 4204845, 4185726, 4217446,
     and 4210230. Once you have logged in (you have to register, but it is
     free), just follow the link to the Bug Database.

   * Audio is not supported. The following errors are reported if you
     attempt to use audio:

        Audio support not currently available.
        Can't get a default mixer: sun.audio.HaeException: Out of Memory

   * The HotJava browser provided by Sun is not designed to work with Java
     2 SDK.

   * If you encounter problems regarding fonts when running your Java
     application, see Enhanced Font Support.

   * An "IllegalArgumentException" occurs when using the Motif Window
     Manager if you attempt to run the Java 2 SDK demo "Java2D" group when
     you perform the following steps:

        cd /usr/opt/java122/demo/jfc/Java2D
        java -jar Java2Demo.jar
        Exception in thread "main" java.lang.IllegalArgument
        Exception:  Width (0) and height (0) must be > 0

     You can run each of the "Java2D" tests individually. For example:

        cd /usr/opt/java122/demo/jfc/Java2D
        java -cp Java2Demo.jar demos.Clipping.ClipAnim
        java -cp Java2Demo.jar demos.Clipping.Intersection
        java -cp Java2Demo.jar demos.Clipping.Text
        java -cp Java2Demo.jar demos.Paint.Texture
        java -cp Java2Demo.jar demos.Transforms.Rotate

   * If you are running the VolanoMark benchmark, you need to use the
     version that is designed to work with J2SDK v 1.2.2, namely VolanoMark
     2.1.2. VolanoMark 2.0 does not work properly and results in a
     "ClassFormatError" exception.

Installation

The following sections describe how to install the J2SDK v 1.2.2 kit on
your Tru64 UNIX system.

Tru64 UNIX Patches

This kit requires Tru64 UNIX V4.0F, V4.0G, or V5.0 and higher.

Presently, this Java 2 SDK v 1.2.2-12 release does not require any
operating system patches. However, the need for patches may be discovered
after this release becomes available. Therefore, we recommend that you
check our patch installation page for Compaq Tru64 UNIX for the latest
information.

Installing the Kit

With JDK V1.1.7B and previous versions, you could install only one JDK
version on a system. With later versions, you can install and use multiple
versions on one system. In addition, you can change the default system
Java, which is the version located in /usr/bin.

When you install the J2SDK v 1.2.2-12 kit on your system, all files are
installed in directories under /usr/opt/java122. In most cases, J2SDK v
1.2.2-12 is not installed as the default system Java, and you need to take
special actions to use J2SDK v 1.2.2-12 after it is installed. See Using
Multiple Versions. If you want to change the default system Java, see
Making J2SDK v 1.2.2 the Default Java.

                                    NOTE

 J2SDK Version 1.2.2 is available from our Compaq Java Product Download
 Page and is also bundled with some versions of the Compaq Tru64 UNIX
 operating system. However, the Java subset names are different. Kits
 downloaded from our Compaq Java Product Download Page begin with the
 subset name "JAVA". In contrast, Java subsets included with the Tru64
 UNIX operating system begin with the name "OSF".

 For a description of both Java subsets, see Step 5. For additional
 information about installing Java during the Compaq Tru64 UNIX
 installation, see the Compaq Tru64 UNIX Installation Guide.

To install, perform the following steps as superuser:

  1. If you want to deinstall prior versions, see Deinstalling Other
     Versions.

  2. If you installed a prior J2SDK v 1.2.2 kit, deinstall it. See
     Deinstalling the J2SDK v 1.2.2 Kit.

  3. Download the following binary kit:

        java122-12.tar

  4. Untar it into a scratch directory, /tmp/java, for example:

        cd /tmp/java
        tar xf /tmp/java/java122-12.tar

     The scratch directory now contains the kit plus the following files:

        COPYRIGHT
        LICENSE
        release_notes.txt

  5. Use the setld command to load from that scratch directory:

        setld -l /tmp/java

     There are three subsets that you can install:

        o JAVA122 - The mandatory subset, which provides support for
          running Java programs and applets.

        o JAVADEV122 - The development environment, which allows you to
          compile and debug Java code.

        o JAVADOC122 - The documentation subset.

     We recommend that you install all three subsets if you intend to use
     the Java 2 SDK in a development capacity.


                   Compaq Tru64 UNIX Subset Names

       The Compaq Java Product Download Page uses the subset
       names listed in Step 5. However, if the J2SDK v 1.2.2
       has been installed as part of the Compaq Tru64 UNIX
       operating system installation, it will have the
       following subset names:

          * OSFJAVA122nnn - The mandatory subset that provides
            support for running Java programs and applets.

          * OSFJAVADEV122nnn - The development environment,
            which allows you to compile and debug Java code.

          * OSFJAVADOC122nnn - The documentation subset.

            where nnn refers to the base operating system
            version number.

       Note that if you are updating to a later version of
       J2SDK v 1.2.2, you must first deinstall these subsets.
       See Deinstalling Other Versions for instructions.


  6. You can also download and install the API reference documentation for
     J2SDK v 1.2.2 (allow 80 megabytes of disk space for the installed API
     reference files):

       a. Download the following binary kit:

             javaapidoc122-12.tar

       b. Untar it into a different scratch directory from the one you used
          for the software kit, for example /tmp/java/api:

             cd /tmp/java/api
             tar xf /tmp/java/api/javaapidoc122-12.tar

       c. Use the setld command to load from that scratch directory:

             setld -l  /tmp/java/api

          There is only one subset that you can install:

               JAVAAPIDOC122 - The API documentation

  7. Once you have installed the desired subsets, you can delete the
     scratch directories.

Once you make J2SDK v 1.2.2 the current version by means of one of these
methods, the java -version command should display the following for this
kit:

   %java -version
   java version "1.2.2-12"

Refer to our FAQ web page for an explanation of this version-naming
convention.

Deinstalling the J2SDK v 1.2.2 Kit

If you want to deinstall this kit in the future, perform the following
steps as superuser:

  1. Use the setld -i command to determine which J2SDK v 1.2.2 subsets are
     installed. For example:

        setld -i | grep JAVA | grep 122 | grep installed

  2. To delete subsets, enter the setld -d command. For example,

        setld -d JAVA122 JAVADEV122 JAVADOC122 JAVAAPIDOC122

Deinstalling Other Versions

To deinstall other versions, perform the following steps as superuser:

  1. Use the setld -i command to determine what Java subsets are installed
     and which you want to delete.
  2. Use the setld -d command to delete the Java subsets.

For example:

   % setld -i | grep JAVA | grep installed

   OSFJAVA425     installed     Java 1.1.7B-5 Environment (General Applications)
   OSFJAVADEV425  installed     Java 1.1.7B-5 Development Environment
   OSFJAVADOC425  installed     Java 1.1.7B-5 Online Documentation

   % setld -d OSFJAVA425 OSFJAVADEV425 OSFJAVADOC425

Using Multiple Versions

With JDK 1.1.7B and previous versions, it was possible to install only one
JDK version on a system. With later versions, you can install and use
multiple versions on one system. In addition, you can change the version
that is used by default when you type Java commands.

You can determine the default Java on your system by typing the following
command:

   /usr/bin/java -version    # Note: Use /usr/bin/java to insure
                             #       that the default Java is executed.

When you install the J2SDK v 1.2.2 kit on your system, all files are
installed in directories under /usr/opt/java122. In addition:

   * If a default system Java (/usr/bin/java) is not found during
     installation, J2SDK v 1.2.2 is installed as the default Java on the
     system and no special actions are required before using J2SDK v 1.2.2.


   * If a default system Java is found during installation, J2SDK v 1.2.2
     is installed on the system but is not made the default. In this case,
     you need to take one of the following actions before you can use it:

        o Change your PATH environment variable so that the directory
          containing the J2SDK v 1.2.2 binaries is searched before the
          system directories. See Changing Your PATH to Use J2SDK v 1.2.2.

        o Make J2SDK v 1.2.2 the system default. See Making J2SDK v 1.2.2
          the Default Java. You can make J2SDK v 1.2.2 the default Java on
          your system at any time, provided that no JDK version prior to
          1.1.8 is installed. When you make J2SDK v 1.2.2 the default,
          system files such as /usr/bin/java are modified so that J2SDK v
          1.2.2 is used whenever Java commands are entered, and defining
          your PATH is not necessary.

Using J2SDK v 1.2.2 and JDK 1.1.n on the Same System

If you regularly run applications using Java 1.1.n, we recommend that you
leave 1.1.n as the default Java on your system and use J2SDK v 1.2.2 by
defining your PATH (see Changing Your PATH to Use J2SDK v 1.2.2). If you
make J2SDK v 1.2.2 the default Java, some Java 1.1.n applications might not
execute properly.

Changing Your PATH to Use J2SDK v 1.2.2

If J2SDK v 1.2.2 is not the default Java on your system, you must either
specify the full pathname of the java command or change your PATH
environment variable to use it.

   * To specify the full pathname of the java command, type the following:

     % /usr/opt/java122/bin/java -version
     java version "1.2.2-12"

   * To change your PATH to use J2SDK v 1.2.2:

       1. Place directory /usr/opt/java122/bin first in your PATH. This is
          the directory that contains the J2SDK v 1.2.2 executables. For
          example, using csh(1):

             setenv PATH /usr/opt/java122/bin:$PATH

       2. Verify that you are using J2SDK version 1.2.2:

             % java -version
             java version "1.2.2-12"

   * To stop using J2SDK v 1.2.2, remove /usr/opt/java122/bin from your
     PATH.

Making J2SDK v 1.2.2 the Default Java

Perform the following steps as superuser to make J2SDK v 1.2.2 the default
Java on your system:

  1. Determine what the default Java is on your system by using the
     following command:


        /usr/bin/java -version   # Note: Use /usr/bin/java to insure
                                 #       that the default Java is executed.

  2. Remove the default Java on your system:

        o If step 1 resulted in a "command not found" message, there is
          currently no default Java on your system, and therefore nothing
          needs to be removed. Proceed to Step 3.

        o If 1.1.7B or a previous version is the default and no one on your
          system needs it, deinstall the old default (see Deinstalling
          Other Versions). Proceed to Step 3.

        o If a version later than 1.1.7B, for example J2SDK v 1.2.1, is the
          default, do the following to remove it as the default:

             /usr/opt/java121/bin/unset_java_default.sh

          After invoking these commands, 1.2.1 still exists on the system
          but is no longer the default version.

  3. Make J2SDK v 1.2.2 the new default version:

        /usr/opt/java122/bin/set_java_default.sh

  4. Verify that J2SDK v 1.2.2 is now the new default version:

        /usr/bin/java -version
        java version "1.2.2-12"

Switching the Default Version

If any versions prior to JDK V1.1.8 are installed, this section does not
apply. You need to deinstall any older versions before you can make a later
version the default. See Deinstalling Other Versions.

If you have made Java 2 SDK v 1.2.n the default version and also have Java
V1.1.8 installed, this section shows how to switch the default version back
to JDK V1.1.8. Also, in the future, users can have an arbitrary number of
different JDK and Java 2 SDK versions; this section gives a general recipe
for switching from one to another.

Assume that versions 1.1.8 and Java 2 SDK v 1.2.n are currently installed
and that Java 2 SDK v 1.2.n is the current default. To make JDK version
1.1.8 the default Java, perform the following steps as superuser:

  1. Verify that Java 2 SDK v 1.2.n is the default version:

        /usr/bin/java -version   # Note: Use /usr/bin/java to insure
                                 #       that the default Java is executed.

  2. Remove Java 2 SDK v 1.2.n as the default version:

        /usr/opt/java12n/bin/unset_java_default.sh

     Note that this script does not deinstall Java 2 SDK v 1.2.n. You can
     make Java 2 SDK v 1.2.n the default again later if desired.

  3. Make JDK V1.1.8 the default version:

        /usr/opt/java118/bin/set_java_default.sh

  4. Verify that JDK V1.1.8 is now the default version:

        /usr/bin/java -version

Troubleshooting Multiple Versions

If you have multiple versions installed on your system and have troubles
running Java applications, first check what version of Java you are using
and what the default Java is on the system:

   % java -version                  # Check version being used
   % /usr/bin/java -version         # Check default Java on system

Then check your definitions of PATH and CLASSPATH:

   printenv PATH
   printenv CLASSPATH

If you encounter the error "java: Permission denied", check that PATH is
set properly. See Changing Your PATH to Use J2SDK v 1.2.2.

Using the Java 2 SDK on Tru64 UNIX Systems

The following sections provide some useful tips for using the Java 2 SDK
on Tru64 UNIX systems.

Using J2SDK v 1.2.2

See Changing Your PATH to Use J2SDK v 1.2.2 for information about defining
your PATH environment variable to use the J2SDK v 1.2.2. Also, see Making
J2SDK v 1.2.2 the Default Java if you want to make J2SDK v 1.2.2 the
default Java on your system.

To Determine Your Current Java Version

Use the following command to determine the Java version you are currently
using:

   % java -version
   java version "1.2.2-12"

To Determine Your Default Java Version

Use the following command to determine the default Java version on the
system:

   % usr/bin/java -version
   java version "1.2.2-12"

Controlling Heap Size

The initial heap size (-Xms) and maximum heap size (-Xmx) command-line
options control the size of the Java heap. The default values for these
are:

   initial heap size = 1048576 bytes
   maximum heap size = 16777216 bytes

Example:

   java -Xmx128m MyApp

To avoid excessive page faulting, consider the amount of physical memory
available to your process when choosing the maximum heap size. Garbage
collection tends to walk through the entire heap, so you'll need at least
enough to insure that none of the heap is paged out.

For more information on system tuning and resource limits, see the
following:

   * Tru64 UNIX System Configuration and Tuning, specifically the section,
     Increasing Address Space
   * C shell commands limit and unlimit, specifically addressspace
   * manpages setrlimit(2) and getrlimit(2)

Controlling Stack Size

You can increase or decrease the maximum native stack size using the -Xssn
command-line switch. Note that decreasing the native thread stack size can
save memory but can also result in stack overflow exceptions if the native
thread stacks are too small.

Example:

   java -Xss512k MyApp

Mandatory Flag for Compiling C/C++ Code for JNI on Tru64 UNIX

All C/C++ code compiled for use with JNI must be built (compiled and
linked) with the C/C++ -pthread flag. Otherwise, your application will
encounter severe multi-threading problems, even if your Java and C/C++ code
do not explicitly use threads. For more information about the -pthread
flag, please see the C/C++ man pages.

Enhanced Font Support

The Java 2 SDK release includes the following enhanced font support.

New font.properties File

Starting with J2SDK v 1.2.1, Java applications require a font property file
to properly display the application's AWT windowing and Java2D components.
This file contains mappings of Java logical font names to physical fonts on
the X server. This requirement is based on the Sun J2SDK v 1.2.1, and is
different than previous versions of the JDK 1.1.n, where a font property
file was not required. Instead of using Java default fonts, which were
resolved at run-time by the X server to physical fonts on the display side,
the font.properties file provides a mapping of the Java logical font names
to fonts on the system. This allows for greater consistency across Java
applications using the same Java 2 SDK.

With J2SDK v 1.2.2, a font.properties file is installed by this kit in
jre/lib/font.properties, which identifies fonts that should be available on
your X server. Therefore, you might notice some differences in your window
displays because of the fonts now being used. You might also see a
noticeable difference in the size of the text displayed when using J2SDK v
1.2.2 compared with using JDK 1.1.n; text will now be displayed larger.
This is because JDK 1.1.n as implemented by Sun for Solaris incorrectly
implements font point sizes causing text to appear smaller on the screen.
This was fixed in J2SDK v 1.2.1 and the correct point sizes for fonts are
now used. If your GUI display does not appear as expected, you may need to
make some adjustments in your application for a component's size and
placement.

If you prefer to use fonts other than those that have been predefined by
the property file for your use, copy the file installed by this kit from
jre/lib/font.properties to your $HOME directory and modify it. When a Java
application is run, it will use your local font property file instead of
the one installed by this kit.

Retired Fonts

Starting with all releases of Compaq Tru64 UNIX after Version 4.0E, all
Adobe fonts under /usr/lib/X11/fonts/Type1Adobe will be retired and will no
longer ship with the operating system. For more details on this, please
refer to the section "Features and Interfaces Scheduled for Retirement" in
the Release Notes for the Tru64 UNIX operating system.

If your Java application uses the retired Type1Adobe outline fonts (which
includes the "zapfdingbats" font family), it might be affected. For
example, when characters are displayed on the screen, they might not scale
as expected. If you customized your font.properties file to use these
outline fonts, you might need to modify it to use alternative fonts that
are available on your operating system. No replacements are being provided
by the operating system. However, a smaller set of outline fonts is still
available in /usr/lib/X11/fonts/Type1 and /usr/lib/X11/fonts/Speedo for
your use.

Troubleshooting

If you encounter one of the following warnings, check your font path by
issuing the UNIX command xset -q. If your display is not what you expect,
you might need to change the search order. Also, make sure that the font
property file does reference fonts that are installed on your system; you
may be attempting to use a font that is not available.

   "Font specified in font.properties not found [-*-helvetica-bold-r-normal...]"

If you are having problems with fonts when you display remotely to a PC
using eXcursion, you might need to upgrade to a newer version of the
eXcursion software and install additional fonts. Also, make sure that the
font property file references fonts that are installed on your PC.

The Java Platform Debugger Architecture

This version includes support for the Java Platform Debugger Architecture
(JPDA). JPDA provides the infrastructure needed to build professional
end-user debugger applications and related software development tools. For
information on JPDA and documentation for the JPDA APIs, see the Sun JPDA
web site.

The Sun JDPA web site includes sources and documentation for two example
debuggers that are implemented using JPDA:

   * jpdajdb - a version of jdb rewritten using JPDA. On Tru64 UNIX, you
     invoke this sample debugger using the jpdajdb command. Note that the
     Sun documentation for this debugger uses the name jdb rather than
     jpdajdb.

   * javadt - a simple GUI debugging tool. Note that this example is not a
     finished or polished debugger and is missing many features of
     importance for real debugging work.

The example debuggers are provided as examples of how to write applications
that use JPDA.

Prior Releases

Features of the J2SDK 1.2.1 Release

The J2SDK v 1.2.1 is a major upgrade from the 1.1.n JDK stream, and has
many new features and enhancements. Some of these are:

   * Security Enhancements - Security has been enhanced to be easily
     configured, policy-based access control.

   * Java Foundation Class Library - Comprised of Swing, Java 2D,
     Accessibility, Drag & Drop.

   * Collections Framework - A unified framework for representing and
     manipulating collections, allowing them to be manipulated
     independently of the details of their representation.

   * With the J2SDK v 1.2.2 from Compaq, you can have multiple JDK (and
     Java 2 SDK) versions installed on your Tru64 UNIX system, and the
     ability to change the default version. See Using Multiple Versions.

   * Font support has been enhanced in this release. A font.properties file
     is installed by this kit. See the Enhanced Font Support section.

There are many other additional enhancements. For a more complete listing,
consult Sun Microsystem's Java Development Kit (JDK) Version 1.2 Summary of
New Features web page.

Also, please see the Changes and Release Notes from Sun Microsystems, which
include J2SDK v 1.2.1 implementation notes and other information pertaining
to this release, such as changes Sun has made to the Java Development Kit
between versions 1.1 and 1.2.

Documentation and Other Information

Documentation

If the optional documentation subset (JAVADOC122) is installed, then the
Java 2 SDK documentation tree begins at the following location on the
system where the Java 2 SDK is installed:

   /usr/opt/java122/docs/index.html

The installed documentation is in HTML format and includes this release
notes file (which describes Java 2 SDK information specific to Compaq Tru64
UNIX systems) and a readme.html file (which contains general information on
using Java).

Note: The documentation in JAVADOC122 does not include the API reference
documentation. If you want to use the API reference documentation locally,
download and install the separate javaapidoc122-12.tar file, as described
in the Installation section.

You can also browse the J2SDK documentation we provide with our kit on our
Java web site.

Note that there is a java manpage that describes the java command and
points to the installed documentation. The java manpage ships with the
operating system and describes the version of java that was shipped; the
manpage is not updated by this kit.

Lastly, Sun's Java 2 SDK demos are included with our Java 2 SDK in our
kit's JAVADOC122 subset. You may find them useful in your Java development
work. The demos are installed in the /usr/opt/java122/demo directory.

More Information

For more information on this release, refer to the Changes and Release
Notes for the J2SDK v 1.2.2 software from Sun Microsystems, and our
Frequently Asked Questions (FAQ) web page.

If you are new to the Java programming language, you will want to browse or
download the Sun's Java Tutorial web site.

Problem Reporting

To report problems or to request support for the JDK and Java 2 SDK for
Compaq Alpha Systems, refer to the Contact Us page on our Java Web site.

  ------------------------------------------------------------------------
Copyright 2001 Compaq Computer Corporation.
Compaq Registered in U.S. Patent and Trademark Office.
Java and all Java-based marks are trademarks or registered trademarks of
Sun Microsystems, Inc.
All other product names mentioned herein may be trademarks or registered
trademarks of their respective companies.
Compaq shall not be liable for technical or editorial errors or omissions
contained herein. The information in this document is subject to change
without notice.
