Well, here it is: the official Java Development Kit (JDK) 7 release candidate. It’s the first new version of Java in five years, and the first since Oracle took over Sun. It feels like more of a stop-gap release while Oracle readies Java 8, but it’s still noteworthy.

The first general release of Java 7 will be July 28.

Here’s a run down of what’s new in Java 7:

  • JSR 292: Support for dynamically-typed languages (InvokeDynamic)
  • Strict class-file checking
  • JSR 334: Small language enhancements (Project Coin)
  • Upgrade class-loader architecture
  • Method to close a URLClassLoader
  • Concurrency and collections updates (jsr166y)
  • Unicode 6.0
  • Locale enhancement
  • Separate user locale and user-interface locale
  • JSR 203: More new I/O APIs for the Java platform (NIO.2) (turorial on File I/O)
  • NIO.2 filesystem provider for zip/jar archives
  • SCTP (Stream Control Transmission Protocol)
  • SDP (Sockets Direct Protocol)
  • Use the Windows Vista IPv6 stack
  • TLS 1.2
  • Elliptic-curve cryptography (ECC)
  • JDBC 4.1
  • XRender pipeline for Java 2D
  • Create new platform APIs for 6u10 graphics features
  • Nimbus look-and-feel for Swing
  • Swing JLayer component
  • Update the XML stack
  • Enhanced JMX Agent and MBeans

Last year the Apache Software Foundation voted against Java 7 and eventually left the Java Community Process over a lack of openness in the Java specification process.

Meanwhile, as we’ve reported Oracle is already hard at work on Java 8. Here are the goals for the next big version:

Exploiting the opportunities of multi-core CPUs in a way that is safe and practical for programmers is essential for all Java applications.

Modularity is a fundamental building block for developing, deploying, managing, and evolving all Java applications. Existing frameworks and tools support these tasks today, but standardization in the Java SE Platform would promote interoperability and benefit developers, users, and vendors.

While it may seem like Java is a little past its prime at this point, we’ve made the case that Java isn’t dying, it’s mutating. Just yesterday we looked at how Java use is expanding at Twitter, and along with the JVM-based language Scala. Also, Clojure, which runs on the JVM, has been getting hot. And of course Java is still the primary language for working with technologies such as Apache Hadoop and Neo4j.