Sun Chief Architect for Client Software Danny Coward highlights some of the significant new features in the upcoming JDK 7 in a deep dive presentation taped in July with host Senior Staff Information Engineer Ed Ort. The nearly 25-minute video replay covers modularizing the JDK, supporting non-Java languages at the VM level, and making developers more productive through various small changes to the Java languages. Code examples and demonstrations are provided.
Keep in mind that this is an on-going project and Coward addresses the JDK's progress as it was at the time the interview took place.
Coward notes the top five new features as:
- 1). Modularity
- 2). Multiple languages to run well on the JVM
- 3). New Garbage Collector
- 4). NIO.2 File System APIs
- 5). Upgrades to the Swing APIs
In the interview, Coward shows the Java language side of the modularity work. For developers, this kind of language support lets them partition applications more successfully. Coward also refers to Project Jigsaw that is helping modularize the whole of the JDK code base itself.
Project Coin is another project within the JDK 7 update that is discussed. The goal of Project Coin is to determine what set of small language changes should be added to JDK 7. Coward goes over the ones that are likely to be included.
The NIO.2 APIs are reviewed. Coward focuses on the APIs that are to interact with modern file systems, namely new filesystem API file notifications directory operations and
asynchronous I/O. Examples of how the new APIs are able to do these tasks of directory searches and watch for changes on the file system are presented.
Another important addition to be made to the JDK 7 at the time this interview took place was the Swing API changes. Mentioned was the Swing Application Framework project (JSR 296) which was aiming to take out the boilerplate of writing Swing applications (startup, properties, etc.) to ease developers work. "Swing is really important to Sun," Coward states. "The days of building out Swing very, very rapidly are over because it is a very feature-rich API now. And with JavaFX, we are trying to get to a new kind of developer - a much less technically skilled developer, perhaps more artistically skilled developer. So, I think there is a strong future for Swing co-existing with JavaFX, and often benefiting from the work we are doing to the runtime, the startup time, and so on, that FX is also driving, which has a benefit to Swing developers, too." Despite his point, the JSR 296 is now in inactive status.
In regards to the milestones, there are more on the horizon. Coward reveals that the target date for the next release is March 2010. He does encourage interested users to begin working with the preview release. "What I showed you here is it's real easy to take the preview release and plug that into NetBeans as a new platform and start writing to the new APIs."
Coward does slip in a quick review of Garbage First and the multiple languages feature, the latter of which involves a new bytecode on the JVM that is designed for a language other than Java.
Deep Dive: JDK 7 With Danny Coward
JDK 7 Project
JDK 7 Features
JDK 7 Milestones
JDK 7 Preview
JSR 294: Improved Modularity Support in the Java Programming Language
JSR 296: Swing Application Framework
JDK 7 Milestones Home Page
The DaVinci Project - multi-language for the JVM
Read More ...