On Sunday, the Technical keynote complemented the Java Strategy keynotes and showed highlights of upcoming Java features.
Please note: A full-length video of the keynote is available on the JavaOne 2012 channel of the Oracle Media Network. Shorter, heavily cut “teaser” video clips of all JavaOne and Oracle OpenWorld keynotes can be found on the Video on demand page of the JavaOne website.
JSE and JavaFX
Mark Reinhold guided the audience through this keynote, following an interview-like style where he and several Oracle software engineers walked the audience presented a JavaFX application and how some JDK 8 features would improve its code.
The JavaFX team showed a Schedule Builder app on Win OSX, Ubuntu Linux and a small Linux ARM based system (Raspberry Pi, using JSE Embedded).
The app was a Schedule Builder for JavaOne attendees for session search and selection into an individual conference schedule
They showed how to quickly design JavaFX pages using SceneBuilder within Netbeans 7.2: Convenient drag and drop, CSS styling. Example was the Login page.
The code for processing list items in the app was shown as quite verbose and clunky. Brian Goetz came on stage and explained how Java 8 will bring Lambda expressions and new methods on collections like forEach() and removeIf() that vastly simplify the code and can replace for (X x : xList) { .. } style loops.
Then Mark Reinhold demonstrated an early version of a modularized JSE to run the Schedule Builder app on a minimal set of JRE modules (subset of headless). On a Raspberry Pi he used jmod command to load the required modules interactively and run the app as a module.
JEE 7 features and tooling
Arun Gupta hosted this part of the keynote and presented some new features of JEE 7 with code examples: REST client API, full-duplex WebSocket API with annotation support on POJOs, support for convenient processing of JSON.
He also showed much reduced code verbosity in JMS 2.0: Sending a message programatically is a one liner, instead of 18 lines of boiler plate in JMS 1.1.
Other improved areas of JEE 7 like JPA 2.1, EJB 3.2, JAX-RS, were also mentioned but not shown on a code level.
Speakers from Project Avatar showed an app using the developer ease of use for HTML5 features like WebSockets, JSON, Server Sent events, etc.
Features of Project Easel were shown in NetBeans 7.3 beta, including live editing and debugging in Netbeans integrated with Chrome. Netbeans supports this within a new HTML5 project type. It was also mentioned that it uses Nashorn for its JavaScript editor.
A more complete summary of the Technical keynote can also be found here.