JDK 1.2: Immature, but tons of new abilities
A few more beta releases of the JDK 1.2 may add the necessary maturity, but until then, it's still worth trying the new features
and capabilities
By Gordon Spencer, JavaWorld.com, 01/01/98
The JavaSoft division of Sun Microsystems announced it is moving the next generation JDK from limited early access to its
first round of public beta tests, and attempted to clarify the schedule for other key technologies that are moving forward
independently of the JDK.
During the first quarter of 1998, Sun plans a follow-up JDK beta version that will round out some of the missing pieces from
the first beta, as well as to respond to early developer feedback. A final version is expected during the second calendar
quarter.
While early access documentation and comments previously referred to this release as JDK 1.2, JavaSoft's press release for
the new JDK (see Resources) avoided the 1.2 moniker, perhaps hinting there is internal discussion over whether there is technical justification and
marketing benefit to relabeling the technology as JDK 2.0.
As more and more key Java technologies move forward independently of the JDK, it is becoming a challenge to keep the schedules
clear. Along with the first public JDK 1.2 beta, Sun is releasing:
- JDK 1.1.5 (a performance-tuning release for JDK 1.1)
- The first public release of the Enterprise JavaBeans specification
- The final version of JFC's GUI components ("Swing") for JDK 1.1
- The first early access release of Java Activator
The Resources section of this article includes more information on these releases.
The following table plots out what you can expect from Sun through Q298.
| Java Technology Roadmap |
| Date
|
Technology
|
| December 1997 |
First public beta of JDK 1.2 |
| |
JDK 1.1.5: performance tuning release |
| JFC 1.1 (final version of "Swing" components) |
| Enterprise JavaBeans Spec. made public |
| Java Activator early access 1 |
| Q1 1998 |
Second public beta of JDK 1.2 |
| |
JDK 1.1.6: further performance tweaks |
| Final Enterprise JavaBeans Spec. |
| Java Activator early access 2 |
| Java Activator 1.1 final (late Q1) |
| Java Messaging Service (JMS) Public Spec. |
| Java Management API (JMAPI) Public Spec. |
| Java Naming and Directory Interface (JNDI) Final Spec. |
| Q2 1998 |
Final JDK 1.2 Ships via Java Porting & Tuning Center |
| |
Final JFC included in core Java |
| Deployable HotSpot JVM available |
| Java Activator 1.2 early access |
| Java Messaging Service (JMS) Final Spec. |
| Java Transaction Service (JTS) Final Spec. |
| Java Management API (JMAPI) Final Spec. |
| HotSpot JVM final (Summer, perhaps Q3) |
Software and documentation for JDK 1.2 can be downloaded from the JavaSoft Web site by any developer who registers with the
Java Developer Connection -- a free service offering access to pre-released software, mailings, and online discussion groups.
The new features: Stepping forward
JDK 1.2 represents a significant step forward in Java's continuing maturity with about a dozen wholly new areas of functionality
and enhancements to about 10 existing features. Not all new or enhanced features are complete in this first public beta, so
you'll have to await subsequent releases.
New features to look forward to include:
- Java Foundation Classes (GUI components or "Swing," accessibility, drag-and-drop, and Java 2D)
- A standard architecture for extensions and the Servlet extension
- Collections
- Input methods
- Version identification
- Weak references
- Java interface definition language (IDL)
- Javadoc templates
Major enhancements have been made to:
- JavaBeans
- The Java security model
- Remote Method Invocation (RMI)
- Object Serialization
- Java Sound
- Java Archive (JAR) file format
- The Java Native Interface (JNI)
Specific performance enhancements include:
- Native thread support for Solaris
- Memory compression for loaded classes
- Faster memory allocation and garbage collection
- Monitor speedups
- A native library JNI port
Features not yet implemented, or not fully implemented in this beta release, include:
- The Standard Extensions Architecture
- Java Servlet standard extension
- Input Method Framework
- JAR Enhancements
- A portion of drag-and-drop functionality and Java 2D
- The JIT compiler for Win32
Boosting performance
JDK 1.2 holds out the hope of performance increases to levels comparable with C++ programs when HotSpot JVM technology is
used, according to Jon Kannegaard, vice president of software products at JavaSoft. The new JDK delivers the binary foundation
for the upcoming HotSpot JVM, which will be available in a separate download from Sun as a developer's release in the first
quarter of 1998.
JDK 1.2 does introduce several architectural changes that should boost performance.
Faster memory allocation and garbage collection -- Faster memory allocation and garbage collection is produced by a thread-local heap cache, which eliminates the need for
locking the majority of heap allocations. Memory allocation speed is drastically increased and garbage collection pauses are
shorter. Memory consumption is also reduced by sharing constant strings among different classes.
Native libraries -- Native libraries supporting core Java classes, such as AWT, have been rewritten using the Java Native Interface (JNI).
That code is more efficient and can run unmodified on different Java virtual machines.
Solaris native thread support -- Solaris native thread support enables the kernel to better schedule native threads over parallel processors, where available.
The native threads VM integrates better with native code than the default green threads VM, and the VM can avoid some inefficient remapping of I/O system calls.
Some last-minute advice
This release of the JDK gives developers an idea of the path that Sun is taking in the evolution of Java. Above all else,
JavaSoft seems to be extending the reach of Java (with support for native libraries and threads, standardizing extensions
architectures, support for Bean-based components, enhanced memory compression for loaded classes) into areas of better and
better performance and faster application-creation and -deployment times.
However, developers should expect the early release of JDK 1.2 to run much more slowly than the later releases. But, the experience
with JDK 1.1 indicates that the several performance tuning iterations will continue to pay dividends.
Author Bio
Gordon Spencer is a writer and analyst who has covered Open
Systems and networked-based computing for nearly a decade.
Resources
- JavaSoft's JDK announcement http://www.javasoft.com/pr/1997/dec/pr971210-04.html
- Enterprise JavaBeans specification announcement http://www.javasoft.com/pr/1997/dec/pr971210-01.html
- Java Activator announcement http://java.sun.com/features/1997/dec/activator.html
- Sun's Java Developer Connection is a free resource for Java developers http://java.sun.com/jdc