At Monday's JavaOne keynote in San Francisco, Oracle EVP Thomas Kurian highlighted Oracle's plans for the Java platform. According to Mr. Kurian, the "three year product road map" had the following major themes:
- Optimize Java for new application models that are emerging and for new classes of hardware;
- Enhance developer productivity;
- Improve performance and scalability on multi-core hardware;
- Increase JVM support for multiple development languages.
Mr. Kurian went on to describe some of the concrete initiatives designed to meet these goals. Many of the initiatives covered are already well known and targeted for JDK 7 or later, for example initiatives like:
- Projects Coin , Lambda , and Jigsaw;
- invokedynamic bytecode instruction to improve performance of dynamic languages;
- Fork/join framework.
Other initiatives were slightly less well known like native support for Infiniband networking, 1TB low-pause garbage collection, and removal of the permenent generation from the hotspot VM. Each initiative was mentioned briefly without many details, though Mr. Kurian did direct the audience to online roadmaps for OpenJDK, GlassFish, and NetBeans.
JavaFX, however, was covered in more detail and garnered the strongest crowd response. The JavaFX team gave a demonstration that included the simultaneous streaming of 160 different video feeds that were themselves overlaid on a 3D scene and moved around in 3D space while playing. At one point, one of the videos was shown blown up in a 3D space before splitting into 1,300 (still playing) cubes that fell to the floor like toy blocks.
In addition to emphasizing the performance aspects of JavaFX, the team also explained Oracle's goal to "deliver the best HTML5 and native application experience from a Java programming model." In the future, JavaFX is intended to be a general visual abstraction layer capable of rendering to either a native Java 2d/OpenGL/Hotspot VM stack or to a Javascript/HTML5/Web browser stack from the same API calls. Oracle committed to two new JavaFX releases in 2011 as well as to open sourcing the platform, though it did not give any details on which open source license would be used.
As part of this, Oracle have announced that JavaFX Script will be dropped, and replaced with a new Java API for creating JavaFX applications, that can also be used from alternative languages such as JRuby, Clojure, Scala and Groovy. A consequence of this is that JavaFX looses the binding support that JavaFX Script provided. Whilst no solution for this is currently available Stephen Chin and Jonathan Giles suggested in a follow-up presentation (PDF document) that work was bring done to rectify the issue. A full roadmap is available.
The presentation then gave a nod to server-side programmers by presenting the same details about JEE 6 that InfoQ covered when released in December of last year.
Mr. Kurian then explained that Oracle considered the mobile and embeded space the "new Java frontier" and listed several devices that run Java like Sony Ericsson smart phones, Amazon Kindle, Livescribe smart pens, Cisco VoIP phones, and Java cards. Notably absent was any mention of Google Android.
Finally, before wrapping up with an appearance by Apolo Ohno, Mr. Kurian brought on Dave Moore from BioWare to present an energetic video of the company's game Star Wars: Knights of the Old Republic. The game does not use Java to render any of its graphics or game physics, but it does use GlassFish as a logon server for players in the multi-player world, as well as for other administrative tasks between the web site and the game.
Overall, the key note read like a summary of the past two years in Java and did not reveal much new information. It did, however, give a hint about Oracle's future emphasis on more consumer-oriented technologies like devices and graphics as well as its continued support for developer-centric improvements to the core language.