After years of development, delays and ownership changes, Java is ready for its next major release.
The first release candidate for Java 7 was released this week, with general availability expected by the end of the month. In order to help celebrate the launch of Java 7, Oracle hosted a global event on Thursday highlighting the key features of the new language release. It's a release that brings Oracle together with rivals IBM and HP to evolve what has become the most influential programming language for enterprise application deployments.
"Probably the most significant thing is the fact that we're finally shipping it," Mark Reinhold, chief architect of the Java platform group at Oracle said. "It has been almost five years now and for various political and business reasons this release has taken some time."
Reinhold noted that after the transition from Sun, Oracle has brought new focus and energy to the release. Oracle acquired Sun in 2010 for $7.4 billion.
In terms of new features, Reinhold noted that Java 7 is an evolutionary release rather than a revolutionary release, as has been the case with some past Java releases.
"There are significant improvements, but nothing really Earth-shattering," Reinhold said.
That said, Reinhold noted that JSR-203 defines new I/O APIs and is particularly interesting to him.
"We finally have a real filesystem API that lets you do things like manipulate symbolic links and access filesystem specific operations when you need to do that," Reinhold said.
Reinhold also highlighted the fork/join framework as being a key new feature for Java 7. He described fork/join as being the first step toward really enabling Java for multicore applications. According to Reinhold, fork/join is one of many ways to deal with expressing parallel computations in a way that will scale well to an arbitrary number of processor cores.
Aside from the code improvements, Reinhold also noted that there has been improvement in the Java development process as well.
"This is the first release where most of the development was done in the open with OpenJDK," Reinhold said. "It's true the development process has not been as transparent as we would have liked, but we're improving that."
One of the other key areas of improvement is in the Java Virtual Machine (JVM), which is now moving in its own direction to support more than just Java.
"For the first time in Java 7, we're starting to see the Java Virtual Machine really chart its own course," Oracle Java engineer Alex Buckley said. "Features are being added to the JVM that are beyond the capabilities of the core Java programming language."
Buckley noted that those 'other' features are there to help implementers of other languages that want to run on top of the JVM.
The other notable fact about Java 7 is that it is a collaborative effort that involves vendors that otherwise are fierce competitors. Oracle has no love lost for IBM or HP and competes aggressively with both vendors in multiple markets, yet on Java they all collaborate.
"Yes we're absolutely fierce competitors," Trent Gray-Donald, IBM Java 7 technical lead said. "But it turns out that we can collaborate."