These release notes describe the final release of the JavaTM Development Kit (JDK) Version 1.1.5 for DIGITAL UNIX. This kit can be used to develop and run Java applets and programs on DIGITAL UNIX Versions 4.0A and higher.
This kit includes all the functionality and bug fixes that are in Sun Microsystems JDK 1.1.5. The kit passes all of the tests in Sun's Java Compatibility Kit test suite (JCK 1.1.4).
Please use the bugreport.text problem-report template to report any problems you encounter with this kit to java-bugs@zko.dec.com.
Send comments or suggestions on the JDK to java-info@zko.dec.com.
The JDK Version 1.1.5 is a bug-fix release. Changes made to the JDK since the first 1.1 beta release are in the file named changes.text.
The JDK 1.1.3 release for DIGITAL UNIX supports the -taso option. This option causes all Java Virtual Machine addresses to be mapped into 31-bit address space. Specify the -taso option if your Java program calls native methods that were built with 32-bit pointers. This includes, for example, native methods that were compiled with the cc options -xtaso and -xtaso_short.
To use the java -taso option:
java -taso my_class_file
or
java_g -taso my_class_file
To use -taso with appletviewer:
appletviewer -J-taso my_class_file
The JDK 1.1.1 release contains support for Java's Audio classes.
The JDK 1.1 for DIGITAL UNIX is implemented using POSIX threads. This allows different Java threads in your application to run on different processers, provided that you have a multi-processor machine. It also means that your Java application will run properly when linked with native APIs (such as DCE) that also are implemented using POSIX threads.
To install and use this kit you must first obtain and install a patch for your DIGITAL UNIX system. See the Java web page on the DIGITAL site for details.
Then, copy across and untar the JDK binary kit, and install it as you would any setld kit. The environment variable CLASSPATH is set to an appropriate default by a shell wrapper. You can override this default (see the Readme file).
The JDK 1.1 Field-Test release contains a Just-in-Time (JIT) compiler to substantially increase run-time performance. The JIT compiler provides on-the-fly compilation of your application's Java byte-codes and runtime calls into native Alpha machine code. This results in significantly faster execution of your Java application compared with running it using the Java interpreter, while maintaining the same behavior.
Please see the Java web page on the DIGITAL site for benchmark results.
The JIT compiler runs by default when you enter the java
command. If you want to run the interpreter when you enter the java command,
use the -nojit option. For example:
java -nojit ...
The java debugger runs the interpreter. Running the java debugger with the JIT compiler is not supported.
The JIT compiler runs by default when you run appletviewer. To run appletviewer using the interpreter, use the -J-nojit option. For example:
appletviewer -J-nojit ...
Information on making 100% Java products, for example, the HotJava Browser, run on the DIGITAL UNIX Java implementation can be found in the FAQ on our Java web page.
This kit passes the complete set of tests in the current version (1.1.4) of the Java Compatibility Kit (JCK) made available by Javasoft to licensees. However, we are currently aware of and/or investigating issues in the following areas:
If you want to use the Just-In-Time compiler when invoking the Java Virtual Machine via the JNI interface, you need to specify -DJIT_OPTION on your C/C++ compile command line when compiling C/C++ code that includes the header file jni.h.
Because of a bug, if you are calling JNI_CreateJavaVM from a C/C++ program, JNI_CreateJavaVM may fail with the following error: Unable to initialize threads: cannot find class java/lang/Thread
You can work-around the bug by explicitly setting the "classpath" argument to ".:/usr/lib/classes.zip", after calling JNI_GetDefaultJavaVMInitArgs but prior to calling JNI_CreateJavaVM.
For example:
#include "jni.h"
void main()
{
JNIEnv *env;
JavaVM *jvm;
JDK1_1InitArgs vm_args;
vm_args.version = 0x00010001;
JNI_GetDefaultJavaVMInitArgs(&vm_args);
/* Work-around JVM bug */
vm_args.classpath = ".:/usr/lib/classes.zip";
JNI_CreateJavaVM(&jvm,&env,&vm_args);
}
The JDK 1.1.5 as implemented by Javasoft for Solaris and Win32 incorrectly implement font point sizes. To correct this problem, our kit includes a font properties file named lib/font.properties.truepointsize which implements correct point sizes for Java fonts. To use this file, copy it to lib/font.properties. If you then wish to revert back to the incorrect font sizes used by Javasoft, then just delete file lib/font.properties.