Java 7 is now available

Published Date
03 - Aug - 2011
| Last Updated
03 - Aug - 2011
 
Java 7 is now available

Nearly 5 years after the release of Java 6, Java 7 is now available and brings a major update to the platform.

This is the first release of Java under Oracle, and the second release under them, i.e. Java 8 is expected to come much quicker, in October 2012.

Some of the new features in this release according to the project page are:

  • Virtual machine: Support for dynamically-typed languages
    Extensions to the JVM, the Java language, and the Java SE API to support the implementation of dynamically-typed languages at performance levels near to that of the Java language itself
  • Virtual machine: Strict class-file checking
    Class files of Java SE 7 or later must be verified with the typechecking verifier; the VM must not fail over to the old inferencing verifier.
  • Language: Small language enhancements
    A set of small language changes intended to simplify common, day-to-day programming tasks: Strings in switch statements, try-with-resources statements, improved type inference for generic instance creation ("diamond"), simplified varargs method invocation, better integral literals, and improved exception handling (multi-catch)
  • Core: Upgrade class-loader architecture
    Modifications to the ClassLoader API and implementation to avoid deadlocks in non-hierarchical class-loader topologies
  • Core: Method to close a URLClassLoader
    A method that frees the underlying resources, such as open files, held by a URLClassLoader
  • Core: Concurrency and collections updates
    A lightweight fork/join framework, flexible and reusable synchronization barriers, transfer queues, concurrent linked double-ended queues, and thread-local pseudo-random number generators
  • Internationalization: Unicode 6.0
    Upgrade the supported version of Unicode to 6.0
  • Internationalization: Locale enhancement
    Upgrade the
    java.util.Locale class to support IETF BCP 47 (Tags for Identifying Languages) and UTR 35 (Local Data Markup Language)
  • Internationalization: Separate user locale and user-interface locale
    Upgrade the handling of locales to separate formatting locales from user-interface language locales
  • I/O and Networking: More new I/O APIs for the Java platform
    New APIs for filesystem access, scalable asynchronous I/O operations, socket-channel binding and configuration, and multicast datagrams
  • I/O and Networking: NIO.2 filesystem provider for zip/jar archives
    A fully-functional and supported NIO.2 filesystem provider for zip and jar files
  • I/O and Networking: SCTP (Stream Control Transmission Protocol)
    An implementation-specific API for the Stream Control Transmission Protocol on Solaris
  • I/O and Networking: SDP (Sockets Direct Protocol)
    Implementation-specific support for reliable, high-performance network streams over Infiniband connections on Solaris and Linux
  • I/O and Networking: Use the Windows Vista IPv6 stack
    Upgrade the networking code to use the Windows Vista IPv6 stack, when available, in preference to the legacy Windows stack
  • I/O and Networking: TLS 1.2
    Add support for Transport Layer Security version 1.2
  • Database Connectivity: JDBC 4.1
    Upgrade to JDBC 4.1 and Rowset 1.1
  • Client: XRender pipeline for Java 2D
    A new Java2D graphics pipeline based upon the X11 XRender extension, which provides access to much of the functionality of modern GPUs
  • Client: Create new platform APIs for 6u10 graphics features
    Create new platform APIs for features originally implemented in the 6u10 release: Translucent and shaped windows, and heavyweight/lightweight component mixing
  • Client: Nimbus look-and-feel for Swing
    A next-generation cross-platform look-and-feel for Swing
  • Client: Swing JLayer component
    Add the SwingLabs JXLayer component decorator to the platform
  • Client: Gervill sound synthesizer
    Drop the old, proprietary, encumbered sound synthesizer in favor of Gervill, a synthesizer created as a proposal for the
    Audio Synthesis Engine Project
  • Web: Update the XML stack
    Upgrade the components of the XML stack to the most recent stable versions: JAXP 1.4, JAXB 2.2a, and JAX-WS 2.2
  • Management: Enhanced MBeans
    Enhancements to the existing
    com.sun.management MBeans to report the recent CPU load of the whole system, the CPU load of the JVM process, and to send JMX notifications when GC events occur (this feature previously included an enhanced JMX Agent, but that was dropped due to lack of time)

You can download the Java 7 JDK and JRE from here, and read the release notes here.