Java technology is both a high-level, object-oriented programming language and a software platform. Java technology is based on the concept of a Java Virtual Machine (JVM) — a translator between the language and the underlying software and hardware. All implementations of the platform emulate the JVM, enabling Java programs to run on any system with a suitable JVM.
Java 6 focuses on platform stability, performance and diagnostics.
- XML processing and Web services: A host of cutting edge XML specifications have been incorporated into this Java release, including the Streaming API for XML (StAX), the Java API for XML Binding (JAXB) 2.0, amd the Java API for XML-based Web Services (JAX-WS) 2.0. The SDK also has built-in support for enhanced Web services metadata and APIs for processing XML digital signatures.
- Annotations-based programming: Annotations, a mechanism for embedding meta data into Java source code, were introduced in J2SE 5.0. In Java 6, the annotations model has been expanded to include new built-in annotation types and annotation processing APIs.
- Application client APIs: Several new APIs have been added to the SDK to support application client operations, including a long-awaited GIF image writer, the ability to access helper applications registered in the native desktop, native support for fast flash screen display, and support for system tray icons. Swing components have improved drag-and-drop capability and support for multi-threaded programming.
- JDBC 4.0: Some of the highlights of this updated specification include updated SQL and XML support, automatic driver loading, improved connection management, close association with JDBC RowSet implementations, and built-in annotations to make it easier for applications to manipulate data.
- Java compiler APIs: In response to a long-standing request from many Java tool vendors, Java SE 6 will includes a set of compiler APIs that allow a Java program to call a Java compiler and retrieve and examine the compiler’s output in a structured fashion.
- Internationalization: Client processing updates allow for improved internationalization support, such as pluggable locales that allow existing Java Runtime Environments to be extended to support custom locales, APIs that transform Unicode strings into different canonical forms, and improvements to the ResourceBundle class. This release of the SDK will also support internationalized Internet domain names and URIs.
- Other features: A variety of other enhancements have been incorporated into Java SE 6, including masked command-line password entry, a framework for connecting to external scripting engines, and bidirectional variants of several Collections classes.