Java Development Environment Release Notes
In addition to the information here, see our demos.
Since this release is based on Sun's 1.1.6 JDK release, it in
general contains the same known bugs. Likewise, all the bugs fixed by
Sun's JDK releases through 1.1.6 have been fixed in this release with
respect to our previous releases, version 3.0.1 (based on Sun's 1.1.3)
and version 3.1 (based on Sun's 1.1.5). For details, see Sun's
Java Bugs Web Site.
One exception is that this release includes a patch which fixes Sun
bug 4134300,
a bug in the string formatting of the
java.text.DecimalFormat
class. This fix is not in Sun's
1.1.6 release, but will be in their 1.1.7 release.
General Release Notes
- The javadoc program automatically creates HTML documentation
for Java classes from the source code. The HTML files that it creates
make use of various decorative images; these can be found in the
/usr/java/images
directory.
- A bug existed in previous releases where using one of the family
of
exec()
methods in the java.lang.Runtime
class with an incorrect path or the name of a non-executable file
would produce a core file. This bug has been fixed.
Native Code Development Release Notes
See our Native Code documentation
for an introduction to working with native code.
- A bug existed in previous releases where accessing the fields of a
Java object from both Java code and C/C++ code (i.e., native methods)
using the old native method interface did not work sometimes because
the layouts of object member fields decided upon by the Java
interpreter and by the C/C++ compiler (from the header file generated
by javah) were not guaranteed to be identical. This bug has
been fixed.
- If you call functions in X/Motif, OpenGL, etc., from native code,
you will need to perform locking around those calls, since these
libraries are not thread-safe in general. To do so, first include the
file
monitor.h
in your source files:
#include <monitor.h>
This header file in /usr/java/include
defines the
following two routines:
void awt_lock_enter(void);
void awt_lock_exit(void);
which you should use to "wrap" your calls into these libraries:
awt_lock_enter();
...
awt_lock_exit();
For an example, see our demos.
jdb Release Notes
- To evaluate a variable in your Java program:
- you must have compiled the Java source file with the
-g
option to javac, and
- if evaluation of a local variable is required, the current thread
must be stopped at a point where the variable is live; in other
words, the variable must have been given a value, and there must be a
possibility that that value will be used before it is changed.
Unless both of these are true, you will get the message "<not
in scope>".
- Currently, you can only evaluate symbols (for example, print
xyz or print this.abc). You cannot evaluate expressions.
- It is not possible to print the elements of multidimensional
arrays.
- If you use the "up" and "down" commands to
move around in the call stack of a suspended thread, the
"step", "next", and "return" commands
will no longer operate with respect to the selected stack frame
as they have in previous releases; they now always operate with
respect to the last frame in the call stack.
- When running under jdb, it is not possible to set
breakpoints in native methods.
- When debugging an applet, using the "Restart" item in
the appletviewer's menu may cause some applets to function
incorrectly. If you encounter this problem using jdb, you
must quit and restart jdb instead.
Java and other Java-based names are trademarks of Sun Microsystems, Inc.,
and refer to Sun's family of Java-branded technologies. Sun, Sun Microsystems,
and the Sun Logo are trademarks or registered trademarks of Sun Microsystems,
Inc. in the U.S. and other countries.