Contents

Introduction
Thank you for downloading the Software Development Kit (SDK) v
1.4.2-3 for the OpenVMS Alpha Operating System for the Java™
Platform (hereafter called simply the SDK). These release notes
contain installation instructions, new
features, known issues, fixed problems, and other information specific to this
release of the OpenVMS Alpha port of Sun Microsystems' Java 2 SDK,
Standard Edition (J2SDK). In addition to these release notes, the
release-independent User Guide contains
information on getting started using the SDK, using the Fast VM,
using the Plug-in, and troubleshooting. This kit can be used to
develop and run Java™ applets and programs on OpenVMS Alpha
systems, Version 7.3-1 and higher.
The SDK v 1.4.2-3 kit implements the J2SDK v 1.4.2, and is based
on Sun's J2SDK 1.4.2_05 Solaris Reference Release. It passes all
the tests in Sun's Java Compatibility Kit test suite (JCK V1.4a).
Use the java -version command to check the version
of the SDK that you are using.
This kit contains two virtual machines:
- The classic virtual machine (classic VM, the virtual
machine shipped with prior releases) is based on Sun's reference
implementation. The classic VM contains Just-In-Time (JIT) compiler
technology, but does not have the performance of the Fast Virtual
Machine (Fast VM). However, it provides additional debugging support
not currently available in the Fast VM.
- The Fast Virtual Machine is Just-In-Time (JIT)
compiler technology designed to provide optimal Java runtime performance
on OpenVMS Alpha systems. The Fast VM offers significant performance
advantages over the Classic JIT. Because the Fast VM is included
in this kit, it is not provided as a separate kit. To learn more
about the Fast VM, refer to Using
the Fast VM in the User Guide.
You select which virtual machine (hereafter called VM) to use when
you set up your Java environment. To set up your environment, use
one of the following two commands, as described in Setting
Up the Java Environment in the User Guide:
$ @SYS$COMMON:[JAVA$142.COM]JAVA$142_SETUP FAST ! Use
the Fast VM
$ @SYS$COMMON:[JAVA$142.COM]JAVA$142_SETUP !
Use the classic VM
Note: For simplicity, these release notes assume
you installed the SDK using the default location and therefore reference
SYS$COMMON:[JAVA$142] throughout the text. However,
if you specified a destination and installed the kit in that alternate
location, substitute that location for the default while reading
the examples in this document.
IMPORTANT: Please make sure you understand the
Copyright (copyright.html,
installed file) and License (license.html,
installed file) information before using this release.

New
Features
The following sections briefly describe the new features HP has
included in SDK v 1.4.2. HP recommends that you read Sun's Java
2 SDK, Standard Edition, Enhancements and Changes in J2SE™
1.4.2 Platform for a thorough description of all new features
and enhancements available in the J2SDK v 1.4.2.
SDK
v 1.4.2-3 New Features
This kit installs SDK v 1.4.2-3, which is a maintenance release
with the following new feature from HP.
New Fast VM Option:
- The option,
-Xcode<size>, which allows a
larger code region for code generated by the Fast VM, has been
added in this release. Size is the code region maximum allocation
size in bytes. Append the letter k or K to indicate kilobytes,
or m or M to indicate megabytes. You can specify values between
24M and 128M. The default value is -Xcode24M.
SDK
v 1.4.2-2 New Features
SDK v 1.4.2-2 was a maintenance release with the following new
features from HP.
New logical for JAVA$142_SETUP (JAVA$CANCEL_CURRENT)
Beginning with the SDK v 1.4.2-2 release, the setup procedure JAVA$142_SETUP
now defines an additional logical name:
-
JAVA$CANCEL_CURRENT - The value
of this logical is the full file specification of the command
procedure for canceling the setup for the most recent version
of Java set up. For example, if you have most recently done
$ @SYS$COMMON:[JAVA$142.COM]JAVA$142_SETUP.COM then
the value of
JAVA$CANCEL_CURRENT will be SYS$COMMON:[JAVA$142.COM]JAVA$142_CANCEL_SETUP.COM.
This logical allows you to freely type the command, $ @JAVA$CANCEL_CURRENT,
to undefine current Java logicals and symbols without knowing
what the currently-enabled version is.
For more information, see the 'In
the Same Process' section of Switching
Versions in the User Guide.
New Logical for Forcing Stream_LF File Format (JAVA$CREATE_STMLF_FORMAT)
On OpenVMS, when you create a new version of an existing file,
the new file will inherit the record format of the existing file.
The record format preferred/required by the RTE is Stream_LF.
The RTE now allows you to specify a new logical:
$ DEFINE JAVA$CREATE_STMLF_FORMAT TRUE
With this logical defined, the RTE will force any newly-created
file to have a Stream_LF format. This allows the RTE
to override the C Run-Time Library's default of inheriting existing
file format from previous versions, which might not behave correctly
with the RTE.
For more information on Stream_LF, see Stream_LF
File Format Required in the User Guide.
SDK v
1.4.2-1 New Features
SDK v 1.4.2-1 was a maintenance release with the following new
feature from HP.
New Fast VM Option -Xdynclassgc
When using the Fast VM, the java command now supports
the -Xdynclassgc option. This option instructs the
Fast VM to garbage collect the class data for dynamically generated
classes when those classes are no longer used. By default, the Fast
VM garbage collects only heap objects, not class data structures.
For more information, refer to Garbage
Collection of Class Data for Dynamically Generated Classes in
the User Guide.

Fixed Problems
The following sections provide important information about problems
that HP has fixed in SDK v 1.4.2. HP recommends that you also review
Sun's Java
2 SDK and Runtime Environment Important Bug Fixes and Changes
documentation for information concerning bug fixes that Sun has
made for this release.
Problems Fixed in SDK v
1.4.2-3
SDK v 1.4.2-3 is based on Sun Microsystems' J2SDK 1.4.2_05 Solaris
Reference Release and passes all the tests in Sun's Java Compatibility
Kit test suite (JCK V1.4a). This SDK is a maintenance
release and contains the following fixed problems from HP.
- With the logical
DECC$ENABLE_GETENV_CACHE defined,
the virtual machine could calculate the incorrect value for the
local timezone but the logical TZ was not defined. This has been
corrected.
- When running SDK 1.4.x on Multicpu systems, the Classic VM would
randomly crash with an ACCVIO or OPCCUS ("opcode reserved
to customer fault"). Nearly 90% of the crashes occurred while
the virtual machine was in the middle of a garbage collection.
This problem has been corrected in this release.
- Previously, Printing Services attempted to execute a hard-coded
UNIX-style print command. The SDK v 1.4.2-3 release introduces
some new logicals and commmand procedures that cause mapping of
UNIX-style print commands into their OpenVMS counterparts. For
more details, see Using
the Java Print Service API in the User Guide.
Problems Fixed in SDK v
1.4.2-2
SDK v 1.4.2-2 was based on Sun Microsystems' J2SDK 1.4.2_04 Solaris
Reference Release and passed all the tests in Sun's Java Compatibility
Kit test suite (JCK V1.4a). SDK v 1.4.2-2 was
a maintenance release and contained the following fixed problems
from HP.
- This release contains fixes to correct memory leaks in long-running
applications that use DECwindows.
- Previously, calling the
accept()method in the class
java.nio.channels.SelectionKey would incorrectly
throw a java.io.IOException:function not implemented.
This has been corrected.
- Previously, you were required to have the DECwindows Motif libraries
installed even though you were using Java's AWT headless support
feature. This restriction has been lifted. You no longer need
the Motif libraries installed to use this feature.
- In previous versions, the capability to use the
JAVA$ENABLE_SIGQUIT_MAILBOX
logical was lost when updating from SDK v 1.4.1 to SDK v 1.4.2.
This capability has been restored.
- The plugin was not properly initializing
JAVA$DIRECTORY_MAPPING_COUNT
environment variable. This has been corrected.
- Java Networking IPv6 support is now included in this SDK release.
See Prerequisites section for details
on required TCP/IP ECOs.
Problems Fixed in SDK v 1.4.2-1
SDK v 1.4.2-1 was based on Sun Microsystems' J2SDK 1.4.2_03 Solaris
Reference Release and passed all the tests in Sun's Java Compatibility
Kit test suite (JCK V1.4a). SDK v 1.4.2-1 was a
maintenance release and contained the following fixed problems from
HP.
- Under some circumstances when using
JAVA$FORK_PIPE_STYLE=2,
it was possible for the application to fail with a java.io.IOException:
bad file number error. This has been corrected.
- Some
out of memory and virtual address space
is full errors, which previously occurred when using the
Fast VM, have been fixed in this release.
- When using the classic VM and running on a system with low physical
memory, if you attempted to start several virtual machines at
once, some of the virtual machines would fail with an
out
of memory error. This problem has been fixed.
- Previously, the classic VM incorrectly handled SIGTERM signals
from another process. As a result, the virtual machine would hang
instead of exiting properly. This has been corrected.
- Previously, when using the Fast VM, if an object in the Java
heap spanned more than a page of memory, and the compacting garbage
collector performed a sweep operation, in rare cases an access
violation could occur on the subsequent collection. This has been
corrected.
- In previous versions, when running the Fast VM on an eight or
more processors system, the garbage collector could fail with
a
GC: failure in slave threads,... message. This
problem has been fixed in this release.
- Previously, calling the
Select() method in the
class java.nio.channels.Selector would incorrectly
throw a java.io.IOException: socket operation on non-socket
exception. This has been corrected.

Compatibility
SDK v 1.4.2 is compatible with previous versions of the SDK. Most
existing programs will run on the SDK v 1.4.2 platform. However,
some important incompatibilities do exist and are thoroughly discussed
in Sun's Java
2 Platform Compatibility with Previous Releases document. For
specific J2SDK v 1.4.2 incompatibilities refer to the section, Incompatibilities
in the Java 2 Platform, Standard Edition, v1.4.2 (since 1.4.1).

Installation
The following sections describe how to install the SDK v 1.4.2
kit on your OpenVMS Alpha system.
Prerequisites
The prerequisites for running this kit are:
- OpenVMS Alpha V7.3-1 or higher. See Mandatory
Patches.
- TCP/IP Services for OpenVMS Alpha V5.1 or higher (and required
patches). If you plan on IPv6 use, the minimum versions are TCP/IP
V5.3 ECO 4 or TCP/IP 5.4 ECO 1.
Note: We do not support MultiNet directly. All
of our testing and certification is done using TCP/IP Services
for OpenVMS; however, because we do not call UCX directly and
use only the socket functions available from HP C, MultiNet may
work with this SDK.
- DECWindows Motif V1.2-6, if you plan on AWT use.
Mandatory Patches
To successfully install and run the SDK for OpenVMS Alpha, you
must install prerequisite patches for your OpenVMS version (See
the list below. Install the patch versions listed, or later, if
superseded.). These patches can be downloaded from the IT Resource
Center (ITRC) at http://www2.itrc.hp.com/.
Note: First-time users must register.
Patches for OpenVMS Alpha V7.3-1
- All Rating 1 ECOs (search keyword = 'Install_1' )
- VMS731_ACRTL-V0100
- VMS731_DCL-V0200
- VMS731_PTHREAD-V0100
- VMS731_TDF-V0100
- TCPIP_ECO-V0504 (TCP/IP V5.4 ECO 1 Alpha) or
TCPIP_ECO-V0503 (TCP/IP V5.3 ECO 4 Alpha) (additional mandatory
patch if you plan on IPv6 use)
Patches for OpenVMS Alpha V7.3-2
- All Rating 1 ECOs (search keyword = 'Install_1' )
- TCPIP_ECO-V0504 (TCP/IP V5.4 ECO 1 Alpha) or
TCPIP_ECO-V0503 (TCP/IP V5.3 ECO 4 Alpha) (additional mandatory
patch if you plan on IPv6 use)
For more information, refer to the patch
installation page. For the most up to date information, refer
to patch
installation page on the Web site.

Installing the Kit
To install the SDK kit:
- Download and install the prerequisite ECOs.
- Download the file
DEC-AXPVMS-JAVA142-V0104-23-1.PCSI_SFX_AXPEXE
(~110,000 blocks) from our Software
Download page and execute it to unpack it and obtain the original
DEC-AXPVMS-JAVA142-V0104-23-1.PCSI file (~310,000
blocks):
$ RUN DEC-AXPVMS-JAVA142-V0104-23-1.PCSI_SFX_AXPEXE
Note: If you are downloading the file to an ODS-5 disk,
the unpacking operation might convert the filename into lower
case. Convert it to upper case before proceeding; for example:
$ RENAME dec-axpvms-java142-v0104-23-1.pcsi -
DEC-AXPVMS-JAVA142-V0104-23-1.PCSI
- To extract a local copy of these Release Notes before installing
the SDK:
$ PRODUCT EXTRACT FILE JAVA142 -
/SOURCE=[directory_where_you_put_the_PCSI_file] -
/SELECT=RELEASE_NOTES.HTML -
/DEST=[]
- Install the SDK kit from the
.PCSI file obtained,
using the PCSI (POLYCENTER Software Installation) utility PRODUCT
command:
$ PRODUCT INSTALL JAVA142 -
/SOURCE=[directory_where_you_put_the_PCSI_file]
By default, the SDK gets installed in root directory SYS$COMMON:[JAVA$142].
As an alternative to installing the kit in the default location
SYS$COMMON:[JAVA$142], you can specify /DESTINATION=device-name:[directory-name]on
the PRODUCT command line, and the kit will be installed
at that specified location.
Also, the following files are installed by the PCSI utility
with a file attribute of ARCHIVE:
SYS$COMMON:[JAVA$142.COM]JAVA$142_SETUP.COM
SYS$COMMON:[JAVA$142.JRE.LIB]FONT.PROPERTIES
SYS$COMMON:[JAVA$142.JRE.LIB]FONT_PROPERTIES.JA
If a file having any of these names already exists on the system,
the installation process renames it to a new name with a file
type ending in _OLD, before loading the new copy
from the kit. Only the latest version of the existing file is
preserved (by being renamed to file.type_old) before
PCSI deletes all remaining versions.
For example, an existing SYS$COMMON:[JAVA$142.COM]JAVA$142_SETUP.COM
is renamed to SYS$COMMON:[JAVA$142.COM]JAVA$142_SETUP.COM_OLD
before the new copy is copied from the kit.
If you have previously personalized any of these files, you
might need to merge your personalizations with the new copies.
Notes:
- The PCSI PRODUCT tool for OpenVMS Alpha installs different
versions of the SDK using unique product names. For example:
- SDK v 1.1.8-n and SDK v 1.1.6-n are installed as product
JAVA
- SDK v 1.2.2-n is installed as product
JAVA122
- SDK v 1.3.1-n is installed as product
JAVA131
- SDK v 1.4.0-n is installed as product
JAVA140
- SDK v 1.4.1-n is installed as product
JAVA141
- SDK v 1.4.2-n is installed as product
JAVA142
Therefore, if you decide to update to an earlier or later
version of the SDK within the same product, you should
not use the PCSI PRODUCT REMOVE command. Instead,
use the PRODUCT INSTALL of the desired kit.
By following these instructions you avoid potential shared-file
conflicts.
- Installing in the
SYS$COMMON area requires
privileges. The SYS$COMMON:[JAVA$142]directory
is the supported location for the installation of this kit.
- To use SDK v 1.4.2, you must first set
up the Java environment. You can select either the Fast VM or
the classic VM as your virtual machine.
Because you can have multiple SDK versions installed on your OpenVMS
system, and because you can change from one version to the other,
you need to follow specific steps to set up your Java environment
properly. To run the command procedure to do this, refer to Setting
Up the Java Environment in the User Guide.
- Refer to the User Guide for additional
information on how to use this product in an OpenVMS environment.
Local copies of these Release Notes and User Guide are installed
at
SYS$COMMON:[JAVA$142.DOCS]RELEASE_NOTES.HTML and
SYS$COMMON:[JAVA$142.DOCS]USER_GUIDE.HTML, respectively.

Determining Your Installed Version
After downloading, installing, and running the command procedure
to set up the Java environment, use the java -fullversion
command to display the version. For example:
$ java -fullversion
java full version "1.4.2-n"
where n identifies the specific SDK v 1.4.2
that is installed.
To switch from one version to another, see Switching
Versions in the User Guide.

Contents of the SDK
This section provides a general summary of the files and directories
contained in the SDK once it has been installed on your system.
Note: For simplicity, these release notes assume
you installed the SDK using the default location and therefore reference
SYS$COMMON:[JAVA$142] throughout the text. However,
if you specified a destination and installed the kit in that alternate
location, substitute that location for the default while reading
the examples in this document.
Development Tools
In SYS$COMMON:[JAVA$142.BIN]
This area contains programs that will help you develop, execute,
debug, and document programs written in the Java programming language.
For further information, see Sun's Tools
and Utilities page.
Important: Review the information in the Interpreting
Commands and OpenVMS Operating System Differences table in the
User Guide to understand fully the nuances and differences in SDK
v 1.4.2 on OpenVMS Alpha.
Run Time Environment (RTE)
In SYS$COMMON:[JAVA$142.JRE]
An implementation of the Run Time Environment (RTE) for use by
the SDK. The runtime environment includes a virtual machine for
Java 2, class libraries, and other files that support the execution
of programs written in the Java programming language. Note:
The RTE included in the SDK is separate from the RTE kit.
Additional Libraries
In SYS$COMMON:[JAVA$142.LIB]
Additional class libraries and support files required by the development
tools.
Demo Applets and Applications
In SYS$COMMON:[JAVA$142.DEMO]
Examples, with source code, of programming for the Java platform.
These include examples that use Swing and other Java Foundation
Classes.
Additional Demos
In SYS$COMMON:[JAVA$142.VMS_DEMO]
Examples that demonstrate what is needed to write native C programs
to interact with Java code.
C Header Files
In SYS$COMMON:[JAVA$142.INCLUDE]
Header files that support native-code programming using the Java
Native Interface and the Java
Virtual Machine Debug Interface, as described on the Sun site.
Source Code
In SYS$COMMON:[JAVA$142]SRC.ZIP
Java programming language source files for all classes that make
up the Java 2 core API (that is, source files for the java.*,
javax.* and org.omg.* packages, but not
for com.sun.* packages). This source code is provided
for informational purposes only, to help developers learn and use
the Java programming language. These files do not include platform-specific
implementation code and cannot be used to rebuild the class libraries.
To extract these files, use this command:
$ jar xvf src.zip
Do not modify core API source files. To extend the behavior of
the core API, write subclasses of the core API classes.

Known Issues
This section provides descriptions of the known issues and limitations
that exist in SDK v 1.4.2 for OpenVMS Alpha; these issues include
the following:
- If
DECC$DISABLE_TO_VMS_LOGNAME_TRANSLATION is enabled,
calling the C Run-Time Library function stat()will
not resolve logicals correctly when the first logical uses another
logical for the device name. This problem has been reported to
C RTL engineering.
java.endorsed.dirs
Property Support in the Classic VM
The java.endorsed.dirs property is not supported in
the classic VM.
Important: Review the information in the Interpreting
Commands and OpenVMS Operating System Differences table in the
User Guide and the remaining sections to fully understand the nuances
and differences in this SDK.

Documentation
The SDK v 1.4.2 documentation tree begins at the following location
on the system where the SDK is installed:
SYS$COMMON:[JAVA$142.DOCS]INDEX.HTML
The installed documentation is in HTML format and includes this
release notes file and the user guide file, as well as the aforementioned
index.html file.
Note: For simplicity, these release notes assume
you installed the SDK using the default location and therefore reference
SYS$COMMON:[JAVA$142] throughout the text. However,
if you specified a destination and installed the kit in that alternate
location, substitute that location for the default while reading
the examples in this document.
For core API documentation, refer to the following sources:
Also, you can browse the Software
Documentation page on our web site. Optimizing
Java Technology Software Performance on OpenVMS provides tips
on improving Java performance on OpenVMS systems.
For more information on this release, refer to the Release
Notes for the J2SDK v 1.4.2 software from Sun Microsystems,
and to our User Guide for this SDK.
If you are new to the Java programming language, you can browse
or download Sun's Java
Tutorial.

Problem Reporting
To report problems, refer to our software
support web page.
|