JavaFX 2.0 Released, Java 9 Outlined During JavaOne Keynote
Mark Reinhold, Chief Architect for Java at Oracle, gave details of developments in Java 8 and beyond, and announced the GA release of JavaFX 2.0 during his keynote session at the JavaOne conference in San Francisco.
The two big themes for Java 8 are modularity via Jigsaw, and project Lambda. Discussing Jigsaw, Mark Reinhold emphasized the need for seamless integration between it and OSGi. IBM is collaborating on this work via OpenJDK, and indeed the first project that IBM will set up within the OpenJDK will look to explore and demonstrate working interoperability between the two modularity frameworks.
Project Lambda will enable Java to work much more effectively with multicore processing systems. "Some would say adding Lambda expressions is just to keep up with the cool kids, and there's some truth in that," Reinhold said. "But the real reason is multicore processors; the best way to handle them is with Lambda." The implementation of Lambda is making use of the InvokeDynamic feature, originally added to Java 7 to support dynamically typed languages such as Ruby and Python.
Other improvements in Java 8 will be the completion of work to bring JRockit features into HotSpot, a Date/Time API (JSR310), the addition of type annotations, and support for sensors to widen the deployment options for the code.
Oracle is also already identifying key areas of development for Java 9. Amongst the ideas Reinhold mentioned was a self-tuning JVM intended to reduce the dependency on command line options to optimise the way a Java programs runs, improved OS/native integration, big-data support, reification, adding tail calls and continuations, a new meta-object protocol to improve cross language support (something which Neal Gafter has also been advocating), multi-tenancy, resource management for cloud applications, and the building of heterogeneous compute models.
Oracle also announced the availability of JavaFX 2.0, and early access for the drag-and-drop design tool Java FX SceneBuilder, which generates FXML.