This section describes Java platform features that are new in the Solaris Express 8/04 release.
Java 2 Platform, Standard Edition (J2SETM) 5 is a significant release including many new features and updates while preserving compatibility and stability. For more details about the features described in this section, see http://java.sun.com/j2se/5.0.
In the Solaris Express 8/04 release, the following features are now available to developers who use the Java language:
The ability to declare type-safe generic types.
Automatic conversion between primitive types and their object counterparts, referred to as “autoboxing” and “autounboxing.”
The ability to create type-safe enumerated types, more specifically, an enhanced “for loop.”
The ability to import a static namespace, an annotation API for use with packages, fields, methods, and classes.
Permission to use subclassed return types, covariant returns, and variable argument lists. The javac compiler enables these features by default.
The Java programming language changes reduce the complexity and the amount of additional code that is required for common Java programming tasks. These changes also reduce the risk of runtime errors that a developer might introduce.
In the Solaris Express 8/04 release, the Java Virtual Machine (JVM) internals can now be monitored by industry-standard consoles that use JMX or SNMP protocols. Both mechanisms are disabled by default and are preconfigured to provide low memory notifications. The JMX mechanism also allows properties such as the logging level to be dynamically configured at runtime.
For further information, see http://java.sun.com/j2se/1.5.0/docs/guide/management/index.html.
In the Solaris Express 8/04 release, J2SE 5 offers enhanced performance and scalability for developers who use the Java platform.
Machines with more than 2 Gbytes of main memory and more than 2 processors automatically select an enhanced server performance mode. This mode delivers significant performance, especially for J2EETM based application servers. This enhanced performance mode uses the “hotspot” server compiler with a parallel “garbage collector,” and with appropriately tuned initial and maximum memory sizes.
For further information, see http://java.sun.com/j2se/1.5.0/docs/guide/vm/gc-ergonomics.html.
Desktop applications benefit from the addition of class data sharing. During installation, this feature creates a special preprocessed archive of commonly used Java classes. This same archive is loaded when the JVM starts, thus reducing the processing time. This archive is also available to subsequent Java applications on that same machine.
The JVM can accelerate JFC/Swing and Java 2D applications if an OpenGL device is available. This acceleration is automatic but disabled by default. This acceleration improves the runtime performance of many graphic-intensive programs.
This feature is new in the Solaris Express 8/04 release.
Developers can now use the later XML 1.1 syntax. Developers can process XML by using the updates to the existing event-based XML processor, SAX 2.0.2. Developers can also use the newer document-based processor, DOM Level 3. For handling XML transforms, the fast XSLT compiler (XSLTC) is available.
This feature is new in the Solaris Express 8/04 release.
The default cross-platform “look and feel” has been updated. Titled Ocean, this new “look and feel” is enabled by default. In addition, a GNOME-based GTK “look and feel” is now fully available for developers and users.
This feature is new in the Solaris Express 8/04 release.
In addition to using the monitoring protocols, administrators and developers can use new command-based diagnostic tools. Tools are available for the following tasks:
Performance analysis – jstat
Fatal error handling – XX:OnError
Core file analysis – jdi connectors
JVM internals tools – jstack, jmap, jinfo
In addition, Java extensions are available for the DTrace tracing facility.
In the Solaris Express 8/04 release, Unicode 4.0-based supplementary characters are supported in J2SE 5.
Developers can now use Unicode-based supplementary characters, represented as pairs of Java characters, with the Java language. When using the string-based and text-based APIs, no additional effort is required.
For further information, see http://java.sun.com/j2se/1.5.0/docs/.
Previously, Unicode 3.2 support was available in the Software Express pilot program. For Solaris 9 users, Unicode 3.2 support is new in the Solaris 9 8/03 release.