Java SE 7 has shipped - to the great relief of all concerned. It was achieved by pushing some of the major planned developments forward to Java 8 but although a fairly minor update it has some significant improvements - and a nasty bug that kills Lucene and Solr.
The launch for Java 7 was held when the release candidate shipped on July 7 but July 28 marks when it became available on general release.
Even though Java 7 was well tested, Apache has discovered a bug that stops some software - Lucene Core and Solr to name the two that trouble Apache - from working. Sometimes the JVM crashes but occasionally the program works but returns incorrect results due to loop index corruption.
The problem is in the hotspot compiler optimizations and was spotted five days before the relase of Java 7. Oracle says that it will fix the problem in the next service release. Apache adds that the problem can also be found in Java 6 with particular JVM options. More information on the bug at Apache Bug.
Until Java 7 u2 becomes available the fix is to disable loop optimizations using the JVM option:
The last major Java release of was five years ago when Java SE 6 came out in 2006 and so it is perhaps not surprising that there is somewhat muted celebration for SE 7 which is seen as evolutionary rather than revolutionary and that within Oracle there is an overwhelming sense of relief that it has finally seen the light of day.
We previously discussed the new features of the JDK which can be summarised as:
- New Fork/Framework which facilitates parallelism for mulit-core processors
- New File System API (NIO.2) which provides the ability to perform many basic file system operations natively
- Project Coin, the many small language changes that add up to a "big boost in productivity" for Java developers
Some of the features and facilities that developers were hoping for have been postponed for Java SE 8 which is due to be out in 2012.
Java SE7 downloads
Full list of JDK 7 features
Java 7 Release Candidate ships
Have a say in what's in JDK 8