|
2 Platform, Standard Edition (J2SE), Version 1.4 Overview
212, 504, 1781, 2130, and now 2738. These are the number of classes and interfaces in the standard edition of the Java platform, from versions 1.0 through 1.41. In this latest release of the J2SE, you'll find a whole gamut of new standard libraries available. This near doubling of size of new features will keep you busy exploring the new capabilities. Version 1.4 is not just one company's vision of how the Java 2 platform should evolve. "Sun Microsystems is committed to responding to the needs of the Java community, and as such, version 1.4 is the first J2SE release to participate in the Java Community Process (JCP)," said Graham Hamilton, Specification Lead for JSR 59 - J2SE 1.4 Release Contents. "Companies such as Borland, Compaq, Fujitsu, SAS, Symbian, IBM, and Sun have worked together to define and develop the J2SE 1.4 specifications through an open, well-documented process. The result is a high-quality specification that represents the diversity of the Java community."
What Is New to the Java 2 Platform
In the new library area, expect to find changes in nearly all facets of the platform. At the Java programming language level, you'll find a new keyword, With the core libraries going through such a radical growth spurt, Joshua Bloch, Senior Staff Engineer at Sun Microsystems says, "I'm happy to say that the Java programming language is finally getting an assert construct. It's something I've really missed and so, apparently, have others--it was among the most requested features on our 'Bug Parade.' Other cool new features include a regular expression facility (a hidden perl in J2SE 1.4), a preferences facility (store user preferences with very little effort), and a scalable I/O facility (no longer must you waste a thread for each socket)." And, you can expect these new features to lead to better programs with less effort and required resources. What follows is a summary of many of these new features:
New I/O-Related CapabilitiesAs Specification Lead for JSR 51, Mark Reinhold leads the way with the new scalable I/O facility. Here, main features of the JSR include the following:
Dubbed the "New I/O" libraries, the improvements supplement, not replace, the original I/O libraries of the Java platform. Related to the new I/O capabilities is a new logging API. Its key objective is to support problem diagnosis of Java software in a production environment by everyone from developers through end users. Paired with the new assertion facility, the two additions should help in the diagnosis of system problems. The preferences facility in the J2SE 1.4 release provides for the storage of user and system preferences, with very minimal effort. The preferences get stored in a platform-specific mechanism, like the Windows Registry on Microsoft Windows platforms. Look for this new facility to bring more powerful customization options to Java technology programs. New JFC Capabilities
The 1.4 release of J2SE brings improvements to all areas of the Java Foundation Classes (JFC), from AWT and Swing to Drag and Drop and Java 2D technology. The AWT improvements include the oft-requested mouse wheel support and high-performance graphics which draw directly to the screen. (This latter feature is similar to working with DirectX on a Microsoft Windows platform or Sun OpenGL® for Solaris.) Swing brings us two new components for formatted input, According to Jeff Dinkins, Manager of the JFC/Swing Team, "We know of several game vendors who are just entering the Java game business because they can now deliver full-screen games, which finally puts them on equal footing with platform-specific games vendors." New Deployment FacilitiesAlong the deployment front are some new additions. The J2SE release includes updates to the Java Plug-in and standard support for Java Web Start technology. The Java Plug-in now includes support for accessing the Common DOM API, one of the XML processing APIs. Also, added since J2SE 1.3, but standard in the 1.3.1_01a release, is support for directly replacing the browser Java virtual machine2 (JVM), enabling support of the <APPLET> tag in Internet Explorer 4.0+ and Netscape 6 browsers. No longer must you use the HTML Converter to embed an ActiveX component reference in the HTML file. In fact, you can even change the default gray box and message shown when an applet is loaded. Now a standard part of the J2SE platform, Java Web Start provides the means for application deployment through its Java Network Launching Protocol (JNLP). Running outside the browser, these programs still execute in a secure sandbox-like environment, but there is friendly support for breaking out of the sandbox to perform select operations. Extensions Become StandardNew versions of the J2SE platform permit previously available standard extensions to be incorporated into the mainline release and the 1.4 release is certainly no exception there. Here, you'll find now-standard XML features, JDBC 3.0 capabilities, and many security-related capabilities. XML is everywhere these days, and the 1.4 release of the J2SE is no exception. You'll now find standard support for processing documents through the Document Object Model (DOM) [Level 2], the Simple API for XML (SAX) 2.0, and XSL Transformations (XSLT) 1.0. The parsers here are made available through a new endorsed standard mechanism (along with the CORBA capabilities). Endorsed standards are those developed outside the more formal JCP, like the Object Management Group (OMG) for CORBA, and provided with the standard platform release. On the database front, the JDBC updates add in pieces that were available separately. Previously known as the JDBC 2.0 Optional Package API, and available as part of the Java 2 Platform, Enterprise Edition (J2EE), JDBC 3.0 adds standard support for rowsets and making connections through data sources as part of the Standard Edition, version 1.4. Rowsets allow you to cache the results of a query for convenient scrolling, without implementing your own caching mechanism (imagine seeing a next/previous link when scrolling through the results from a search query). Assuming the provider of your JDBC driver supports it, data sources permit lookup through the Java Naming and Directory (JNDI) API and could return a basic connection, a pooled connection, or a connection for distributed transactions. Now standard features of this latest J2SE release, you'll still need to have JDBC drivers that support the new features. In the security arena, standard capabilities change with every release of the standard edition. While some features like Kerberos V5 support and certificate chain building are brand new, three other libraries were offered only as reference implementations before. Not only are the hassles of separate installation gone, but the libraries have been improved, too. The three now-standard libraries are:
Many of the security feature packaging changes are due to the ever-changing US export control restrictions. These restrictions still require a separate download for unlimited cryptographic strength for the JCE though. With regards to many of these features, Richard Monson-Haefel, author of Enterprise JavaBeans, (O'Reilly) and co-founder of OpenEJB says, "As an open source J2EE provider (OpenEJB is used in Apple's WebObjects), I'm really looking forward to the new J2SE features which make it easier to write J2EE platforms like the new security packages (JAAS, SSL, Kerberos, etc.) and other features like JDBC 3.0, for an improved database API, and XML support, which will make it easier to build portable Web Service clients and services." ConclusionWith over 1.5 million downloads of the 1.4 beta releases, a June 2001 count of 5 million downloads of the Java 2 SDK, and 2.5 million Java developers (and a projected 4 million by 2003, according to IDC), expect the popularity of the platform to just keep growing. Now that there are all these hot new features available, you'll find customers from both the developer and user camps clamoring to take advantage of all these new capabilities. To learn more about the release, be sure to see the Java 2 Platform, Standard Edition (J2SE) 1.4 Release and Beyond (TS-1756) session at the upcoming JavaOne conference. This and many other sessions will help jumpstart your transition to the biggest changes ever to the Java 2 Platform. RESOURCES
About the AuthorJohn Zukowski conducts strategic Java consulting with JZ Ventures, Inc. and serves as chief evangelist for Spidertop, Inc., a company which offers user-interface development tools for Web services. Contact John at jaz@zukowski.net. 1 Pre 1.4 numbers taken from The Java Developers Almanac 2000. 1.4 numbers calculated by counting lines in http://java.sun.com/j2se/1.4/docs/api/allclasses-noframe.html. 2 As used on this web site, the terms "Java virtual machine" or "JVM" mean a virtual machine for the Java platform. | ||||||||||||||
Oracle is reviewing the Sun product roadmap and will provide guidance to customers in accordance with Oracle's standard product communication policies. Any resulting features and timing of release of such features as determined by Oracle's review of roadmaps, are at the sole discretion of Oracle. All product roadmap information, whether communicated by Sun Microsystems or by Oracle, does not represent a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. It is intended for information purposes only, and may not be incorporated into any contract.
|
| ||||||||||||