Java SE 7 was released on 7 July 2011. Java SE 7 is the major release to the Java SE platform, which came a long time after its previous release J2SE 6. It introduced many enhancements to the Java language. Integral types can now be expressed using the binary number system. Numerical literals can contain underscore characters for better readability. We can use strings in switch statements. A diamond operator is introduced in generics instance creation syntax. A new try-with-resources statement has been added.
Multiple exception types may now be included in a single catch block. A new compiler option and two annotations are added to give you improved compiler warnings and errors when using nonrefillable formal parameters with var-args methods.
Java SE 7 introduced the NIO.2 API, which offers the ability to develop a custom file system provider for managing file system objects. The new additions to this API provide comprehensive support for file I/O and for accessing the file system. The JDBC 4.1 API enables us to use try-with-resources syntax to automatically close resources of type Connection, Resultset, and Statement. Additions have been made to RowSet that enable us to create all types of row sets supported by our JDBC driver.
Java SE 7 adds support for Stream Control Transmission Protocol (SCTP) on Solaris and Sockets Direct Protocol (SDP), which is a wire protocol to support stream connections over InfiniBand fabric. This, at the time of this writing, was available for the Solaris and Linux platforms. We can now develop and deploy Rich Internet Applications as applets or Java Web Start applications.
The Java SE platform now supports the implementation of dynamically typed programming languages on the JVM; for this, a new instruction called invokedynamic was added to the JVM. A light weight fork/join framework is now added to the Concurrency API. On the client side, Java SE 7 adds a next-generation cross-platform look and feel for Swing—called Nimbus look-and-feel. Besides these, there are several other enhancements. For example, the XML stack has been updated to support the most recent versions of XML processing, binding, and Web Services APIs. The MBeans API is enhanced to add more management functionality. In the Security and Cryptography API, a portable implementation of the standard Elliptic Curve Cryptographic (ECC) algorithms has been added. The Internationalization API is enhanced to support the 6.0 version of Unicode. The Locale class has been upgraded, and the handling of locales has been upgraded to separate formatting locales from user interface language locales.