Solaris 7 Software Developer Supplement

Chapter 3 Java for Developers

This chapter describes Java enhancements for developers.

Note -

The 8/99 update release included the JDK 1.1.7_07 release.

Note -

For the most up-to-date man pages, use the man command. The Solaris 7 11/99 man pages include new feature information not found in the Solaris 7 Reference Manual Collection.

Java 2 SDK 1.2.1_03

These enhancements are new in the Solaris 7 11/99 software release. For more information, see Java 2 SDK Developer's Guide for Solaris.

Heap Inspection Tool

This diagnostic tool for interactively killed programs is accessible from the SIGQUIT handler menu. It can be used to find memory leaks in your programs. A memory leak occurs when a program inadvertently retains objects, preventing the garbage collector from reclaiming the memory. Heap inspection presents a per-class breakdown of the objects in the heap, sorted by total amount of memory consumed. You can then examine reference chains to selected objects to see what is keeping them alive.

Double-Word Alignment to 8-Byte Boundaries in the Heap

Double-word (longs and doubles) values are now aligned to 8-byte boundaries in the heap. This improves the performance of both native code and JIT-compiled Java code while ensuring correctness of volatile double-word values on SPARC systems. However, if your application allocates and retains many small objects, you may need to increase your heap size(s) slightly, since these objects will be allocated in multiples of 8 bytes, increasing your memory usage.

Optimizing JIT Compiler

The Java 2 SDK includes an optimizing JIT compiler which improves performance without sacrificing application start-up time. Specifically, the JIT compiler has improved in its ability to identify optimization opportunities, translating frequently invoked methods and methods with loops into highly efficient native code.

Enhanced Memory Management System

The Java Virtual Memory (JVM) also includes a highly optimized memory system, making memory allocation and garbage collection more efficient. It is a non-conservative, fully compacting, generational memory system which uses direct pointers. This feature increases batch program performance and reduces disruptive garbage collection pauses in interactive programs.

Faster Thread Synchronization

The JVM has significantly improved implementations of the Java platform's synchronization primitives. These implementations make concurrent programs more efficient and decrease the impact of the synchronization primitives on single-threaded application performance.

Java Development Kit (JDK) 1.1.7_08

This feature is new in the Solaris 7 11/99 software release.

Enhanced Euro Currency Support

The JDK 1.1.7_07 release supports the new European Union currency, the euro, including these changes:

In order for the JDK software support for the euro character to function properly, you may need to install euro-support patches for your operating system. Euro-support patches are required if you are using versions of Solaris software prior to the Solaris 7 operating environment. Check with your Solaris support provider or visit the SunSolveSM website at for information on the availability of the Solaris euro-support patches.

The addition of euro support will not affect existing code, except for character conversion code relying on changed encodings. No APIs have been changed.

For information on the euro, see the euro web site at

Java Runtime Environment (JRE) Available

A JRE corresponding to the latest version of the JDK is available for download at

Refer to the document, Solaris Java Runtime Environment (JRE) Configuration Guide at

This document contains the following information:

The bugs in these release notes apply to the JRE, except for those bugs that apply to components not included in the JRE.

High-Performance JIT Compiler

JDK 1.1.6_03 introduced the High-Performance JIT compiler, an optimized version that enables significant performance gains over the JIT compiler bundled with the Solaris 2.6 environment.