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.
Gordon Spencer is a writer and analyst who has covered Open
Systems and networked-based computing for nearly a decade.
This story, "JDK 1.2: Immature, but tons of new abilities" was originally published by
JavaWorld.
Copyright © 1998 IDG Communications, Inc.