Java 2 Platform, Standard Edition v 1.4 Datasheet

 

J2SE 1.4 - A Higher Standard
The Java 2 Platform, Standard Edition is at the core of Java technology, and version 1.4 raises the Java platform to a higher standard. From client to server, from desktop to supercomputer, improvements have been made to J2SE across the board. With version 1.4, enterprises can now use Java technology to develop more demanding business applications with less effort and in less time.

Version 1.4 builds upon the current J2SE platform and provides even more features for developers to build into their applications. More functionality in 1.4 means developers can now spend less time writing custom code to accomplish what is now part of the core J2SE platform. The result is faster application programming with more consistency for enterprise development initiatives.

New features in J2SE 1.4 also reduce the developer's reliance on other technologies such as C or C++, PERL, or SSL and DOM implementations in browsers. This allows developers to use a single technology to develop, test, and deploy end-to-end enterprise applications and solutions. Most anything you want to do, you can do in J2SE version 1.4.

Version 1.4 provides more ways for developers leverage existing systems without changing their underlying platforms. Version 1.4 provides additional support for industry standards technologies such as XML, DOM, SSL, Kerberos, LDAP and CORBA to ensure operability across heterogeneous platforms, systems, and environments. Additionally, developers and software vendors may now use a new Endorsed Standards Override Mechanism in version 1.4 to provide newer versions of endorsed standards, such as CORBA, as they become available.
 

Massive Scalability / Record-Breaking Performance
J2SE version 1.4 brings Java technology to new levels of scalability and performance. With support very large memory configurations and ultra-fast I/O, version 1.4 allows for entirely new classes of applications to be written using Java technology. No mater what style of development - servlets, EJBs, or rich client applications - developers will experience immediate scalability and performance benefits from adopting this super-charged release.

Record Breaking Performance
J2SE version 1.4 smashes performance records for enterprise scalability. Using the SPECjbb2000 Java Business Benchmark on a three-tier server system, version 1.4 shows an improvement of 58% over J2SE version 1.3.1. Dramatic improvements have also been made for Java client applications. Internal testing on JFC/Swing based applications on J2SE version 1.4 shows a 20%-80% performance gain over version 1.3.1.

64-bit Support
64-bit support provides Java technology developers with near limitless amounts of memory for high-performance, high-scalability computing. While previous J2SE releases were limited to addressing 4 gigabytes of RAM, version 1.4 allows Java applications to access hundreds of gigabytes of RAM. This enables developers to drive more applications and very large datasets into memory, and avoids the performance overhead of reading data in from a disk or from a database. The result is significantly faster processing for business intelligence, data mining, engineering and scientific applications.



New I/O
With the new I/O features in 1.4, developers can now write ultra-scalable, high-performance server applications such as web, application, file, and database servers. They can also write heavy-duty scientific, technical, and graphics applications that require fast access to large quantities of data. I/O operations that previously required programming in C or C++ can now be performed using Java, but with the performance of a native C or C++ application.

  • The new Network I/O package dramatically increases the number of simultaneous connections that a server can handle by removing the need to dedicate one thread to every open connection.
  • New File I/O supports read, write, copy, and transfer operations that are up to twice as fast as the current file I/O facilities. It also supports file locking, memory-mapped files, and multiple concurrent read/write operations.

Other Performance Improvements

  • Improvements to the Java Native Interface allow Java and C code to share certain kinds of data structures, which allows for much faster data access between Java and native code.
  • Reflective invocations and instantiations - the ability to dynamically look-up and call a method - are up to 20 times faster than in previous releases, which results in faster overall application performance.
     

Rock Solid Reliability, Availability, Serviceability
J2SE is a proven technology that has been battle tested with millions of customer installations. Version 1.4 builds upon this solid foundation and brings enterprises closer to achieving more 9s than ever before. Improvements have been made to the J2SE platform so that applications can be engineered to run more reliably, with less downtime and improved maintainability.

Improved Debugging

  • A new Assertions facility enables programmers to evaluate assertions at runtime, confirming validity. This powerful tool improves code quality because it allows developers to uncover misconceptions concerning a program's behavior.
  • Full Speed Debugging - Now the full performance advantage of the Java HotSpot virtual machine is available to programs running while in debugging mode. This allows testing to proceed at full speed and allows longer running programs to be more easily debugged.
  • A new class file redefinition "HotSwap" feature allows developers to substitute modified code in a running application through the debugger APIs.
  • The new -Xcheck:jni command-line option performs additional checks for Java Native Interface (JNI) functions. Specifically, the Java virtual machine validates the parameters passed to the JNI function as well as the runtime environment data before processing the JNI request. Any invalid data encountered indicates a problem in the native code, and the JVM will terminate with a fatal error in such cases.

More Runtime Information and Enhanced Troubleshooting Capabilities

  • To facilitate software servicing and maintenance at customer sites, a new Logging API allows developers to create reports suitable for analysis by system administrators, field service engineers, and software development teams. It can be configured to capture information such as security failures, performance bottlenecks, or errors during application execution.
  • A Chained Exception Facility allows developers to record when one exception causes another.
  • New Java-level Deadlock Detection will help identify if an application is in a healthy or deadlocked state.
  • Improved error-reporting mechanism enables developers to more easily and efficiently debug their applications. When the JVM detects a crash in native code it will print debug information about the crash, and if an error message indicates a problem in the JVM code itself, it will allow a developer to submit a more accurate and helpful bug report.
  • A new logging facility has been added to log garbage collection events from the Java HotSpot Virtual Machine.
     

A More Complete Security Offering
Java technology enables enterprises to conduct secure, e-business transactions over the Internet while protecting their most valuable data assets. J2SE version 1.4 now provides the most comprehensive security offering in the Java 2 Platform to date. The new security features in 1.4 provide a level of abstraction above complex security mechanics that help to minimize the risk of creating subtle, but dangerous, security vulnerabilities. Furthermore, they simplify application development by serving as building blocks which developers can integrate directly into their applications.

New security features in J2SE 1.4 include:

  • The Java GSS-API with Kerberos V5 mechanism for securely exchanging messages and enabling single sign-on using operating system credentials.
  • The Java Certification Path API for building, and validating certification paths (also known as "certificate chains").
  • Support for dynamic policies that defers the binding of classes with permissions until that is needed by a security check.

Additionally, three previously optional security packages are now included as part of the core J2SE platform:

  • The Java Authentication and Authorization Service allows developers to authenticate users and to enforce user, group, or role-based access controls.
  • The Java Secure Socket Extension implements Java versions of SSL (Secure Sockets Layer) and TLS (Transport Layer Security) protocols and includes functionality for data encryption, server authentication, message integrity, and optional client authentication to help protect the privacy and integrity of data as it is transferred across a network.
  • The Java Cryptography Extension (JCE) provides a framework and implementations for encryption, key generation and key agreement, and Message Authentication Code (MAC) algorithms. The JCE framework includes an ability to enforce restrictions regarding the algorithms and strengths available to applets/applications in different locations.
     

New Options For Connectivity And Data Interchange
XML

XML technology is expected to revolutionize network-oriented applications, especially in the area of data interchange. By using Java and XML technologies together, developers can build sophisticated, interoperable Web applications more quickly for less cost. Java and XML technologies are enabling a new generation of Web applications and services in e-commerce, enterprise application integration, and more.

J2SE version 1.4 includes the basic facilities for working with XML documents, and provides built-in support for XML standards such as SAX 1.0 and 2.0, DOM 1.0 and 2.0, and XSLT support.

JDBC
JDBC 3.0 technology enables universal data access from virtually any source - relational databases, spreadsheets, and flat files. Version 1.4 consolidates the separate core and optional JDBC packages into a single offering, and provides enhancements such as Connection Pool configuration improvements, Statement pooling for Pooled Connections, and a description of the migration path from the JDBC SPI (Service Provider Interface) to the J2EE Connector Architecture.

CORBA
Several CORBA enhancements have been included in the J2SE 1.4 release. The J2SE Portable Object Adapter (POA) ORB allows programmers to construct object implementations that are portable between various ORB products, and supports objects with persistent identities. The Portable Interceptors API provides a set of OMG standard APIs that can be used by J2EE compatible vendors during development. Finally, full compliance with the CORBA "Interoperable Naming Service" (INS) will allow developers to use URL-like string to access naming services at remote sites, and CosNaming support has been enhanced to now allow for persistent stores.

Other
Other improvements include access to the Domain Name System (DNS) has been added through the Java Naming and Directory Interface; support for IPv6 for more flexible socket creation, binding, and connection; and a new Uniform Resource Identifier (URI) API.
 

Rich Clients For Web Service
When a web page simply isn't enough, J2SE version 1.4 is the complete platform from which to develop functionally rich applications that can be deployed on any platform. Version 1.4 advances client application development with new Swing controls, accelerated Java 2D graphics performance, expanded internationalization and localization support, and enhanced deployment options with Java Plug-in and Java Web Start.

Java Foundation Classes (JFC)
Several new enhancements have been made to the Java Foundation Classes/Swing APIs in J2SE 1.4:

  • New JFC/Swing features include support for spinners, scrollable tabbed panes, and indeterminate progress bar controls.
  • Swing component data can now be transferred between applications using cut, copy, and paste functions in addition to full drag-and-drop support across all Swing components.
  • A new API for the long-term persistence of JavaBeans technology will allow developers to create UI designs that are portable between IDEs.
  • To help applications adapt to different users and environments, a new Preferences API provides a way to store, retrieve, and modify data from applications.
  • The new full-screen exclusive mode API supports high performance graphics by suspending the windowing system so that drawing can be done directly to the screen; a benefit to applications such as games.
  • A redesigned focus architecture addresses many focus-related bugs caused by platform inconsistencies and incompatibilities between AWT and Swing components.
  • Undecorated frames allow a Java application to turn off the creation of frame decorations such as native title bars, system menus, borders, or other native operating system dependent screen components.
  • Other JFC improvements include an updated file chooser for Windows, a new Auditory Feedback mechanism, higher quality font rendering, mouse wheel support, Section 508 accessibility compliance, support for Macintosh style menu bars, and a comprehensive new Print Service API.

High-Performance Java 2D Graphics
J2SE version 1.4 contains major improvements in Java 2D graphics performance. The internal Java 2D "pipeline" architecture has been redesigned to reduce the overhead of common graphics operations used for Java Foundation Classes/Swing-based applets and applications.

A new VolatileImage API allows developers to take advantage of hardware graphics accelerators common in most current PC and workstation configurations. This results in dramatically faster Swing-based applets and applications, with some GUI operations now running 20% to 80% faster!

The new Java 2D architecture also dramatically improves the speed by which remote GUIs are transported over the X-Windows protocol. Depending upon the operation, the performance for GUI operations using Remote-X has been improved from 600% to 1200%.

Internationalization
Internationalization and localization enhancements include full Unicode 3.0 support, a new character encoding API for plug-able character converters, support for Thai and Hindi languages, and a new currency class so that currencies can be referenced independent of locales. The J2SE version 1.4 JRE is now available for Solaris, Linux and Windows in Simplified and Traditional Chinese, English, French, German, Italian, Japanese, Korean, Spanish, and Swedish. The J2SE version 1.4 SDK is available in English and Japanese.

Enhanced Deployment
A new deployment technology for Java technology-based applications, Java Web Start technology is now bundled as part of the core J2SE platform. Java Web Start allows Java applications to be launched with a single click, eliminates complicated installation and upgrade procedures, and guarantees that users are always running the latest versions of their applications.

The Java Plug-in allows developers to run applets on J2SE in popular browsers such as Netscape and Internet Explorer. New Java Plug-in features in version 1.4 include support for multiple versions of the Java Runtime Environment (JRE), HTTPS through the Java Secure Socket Extension (JSSE), and applet caching enhancements to handle files such as GIFs and JPEGs in addition to JAR and class files. Other enhancements include the asynchronous loading of applets and other HTML elements, a progress bar to provide user feedback on applet initialization, a faster Java Archive (JAR) file format compression to speed downloads, and a new W3C standard DOM API that enables applets to traverse Document Object Models. Additionally, the 1.4 Plug-in can now run Java 1.1.x based applets on Windows clients using the APPLET tag, which eliminates the need for developers to modify existing HTML pages.
 

More Than A Technology, Java Is An Industry
Java is more than a technology, it's an industry. The Java 2 Platform, Standard Edition is available on every major computing platform including the Solaris Operating Environment, Linux, HP-UX, AIX, Tru64 Unix, Windows, MacOS X and many others. And since Java-based applications, tools, and components are available from multiple vendors, enterprises can choose best-of-breed solutions while eliminating lock-in from any single vendor.

Sun Microsystems, Inc. is a company that responds to the needs of the Java technology developers. Version 1.4 is the first J2SE release to participate in the Java Community Process - an open, community-based process for the development of Java technology specifications, reference implementations and associated technology compatibility kits. Driven by Sun Microsystems, Inc. as Expert Group specification lead, companies such as Borland, Compaq, Fujitsu, SAS, Symbian, and IBM participated in defining and developing J2SE version 1.4 specifications side-by-side with other industry leaders. In all, 39 companies and industry leaders participated in the development of J2SE 1.4, which had a total of 11 Java Specification Requests. The result of this collaborative effort is a high-quality specification that best represents the diversity of the Java community.

SPECjbb2000 is benchmark from the Standard Performance Evaluation Corporation (SPEC). Competitive claims reflect results published on www.spec.org as of 1/28/02. For the latest SPECjbb2000 results visit http://www.spec.org/osg/jbb2000.