JDK 7 Features
August 31, 2009
Comments off
JDK 7 Features – courtesy http://openjdk.java.net/projects/jdk7/features/
This is the list of features being developed by Sun, and others, for JDK 7.
When the Java SE 7 Platform JSR is submitted then these features will be proposed therein, except for those listed as either VM-level or implementation-specific.
Per the current draft of the development process we will shortly publish a Feature Proposal template. That will be the vehicle for proposing additional features for inclusion in the release. Smaller, non-feature changes will go through a lighter-weight process, soon to be defined.
Comments to: jdk7-dev at openjdk.java.net
Summary
Features are listed in order, more or less, from lowest to highest in the overall JDK software stack.
VM
Compressed 64-bit object pointers
A technique for compressing 64-bit pointers to fit into 32 bits, which decreases memory and memory-bandwidth consumption and thereby improves performance (VM-level feature)
Links: wiki page
Milestone target: M1
Garbage-First GC (G1)
A new garbage collector that promises to achieve lower pause times and better predictability than the current CMS collector (VM-level feature)
Lead: Tony Printezis
Links: ISMM 2004 paper; summary
Milestone target: M1
JSR 292: VM support for non-Java languages (InvokeDynamic)
VM extensions to support the implementation of non-Java languages at performance levels near to that of the Java language itself
Lead: John Rose
Milestone target: M3
Language
JSR 308: Annotations on Java types
An extension to the Java annotation syntax to permit annotations on any occurrence of a type
Lead: Michael Ernst; team: Jonathan Gibbons
Milestone target: M4
JSR TBD: Small language enhancements (Project Coin)
A set of small language changes intended to simplify common, day-to-day programming tasks
Lead: Joe Darcy
Links: project page; mailing list
Milestone target: M6
JSR 294: Language and VM support for modular programming
Enhancements to the Java language and virtual-machine specifications to support modular programming, at both compile time and run time
Lead: Alex Buckley
Links: JSR 294; mailing list
Core
Modularization (Project Jigsaw)
An implementation-specific, simple, low-level module system focused upon the goal of modularizing the JDK, and the application of that system to the JDK itself
Upgrade class-loader architecture
Modifications to the ClassLoader API and implementation to avoid deadlocks in non-hierarchical class-loader topologies
Links: summary
Milestone target: M3
Method to close a URLClassLoader
A method that frees the underlying resources, such as open files, held by a URLClassLoader
Lead: Michael McMahon
Milestone target: M2
Unicode 5.1
Upgrade the supported version of Unicode to 5.1
Milestone target: M3
Concurrency and collections updates (jsr166y)
A lightweight fork/join framework, generalized barriers and queues, a concurrent-reference HashMap, and fences to control fine-grained read/write ordering
Lead: Doug Lea
JSR 203: More new I/O APIs for the Java platform (NIO.2)
New APIs for filesystem access, scalable asynchronous I/O operations, socket-channel binding and configuration, and multicast datagrams
Lead: Alan Bateman
Milestone target: M2
SCTP (Stream Control Transmission Protocol)
An implementation-specific API for the Stream Control Transmission Protocol on Solaris
Lead: Chris Hegarty
Links: project page; mailing list
Milestone target: M3
SDP (Sockets Direct Protocol)
Implementation-specific support for reliable, high-performance network streams over Infiniband connections on Solaris
Lead: Alan Bateman
Milestone target: M3
Elliptic-curve cryptography (ECC)
A pure-Java implementation of the standard Elliptic Curve Cryptographic (ECC) algorithms, so that all Java applications can use ECC out-of-the-box
Milestone target: M5
Client
XRender pipeline for Java 2D
A new Java2D graphics pipeline based upon the X11 XRender extension, which provides access to much of the functionality of modern GPUs
Lead: Clemens Eisserer; team: Dmitri Trembovetski
Forward-port 6u10 features
Forward-port implementation-specific features from the 6u10 release: The new Java Plug-In, Java Kernel, Quickstarter, related installer features, and the Swing Nimbus look-and-feel
Milestone target: M4
Create new platform APIs for forward-ported 6u10 features
Create new platform APIs for features originally implemented in the 6u10 release: Translucent and shaped windows, heavyweight/lightweight mixing, and the improved AWT security warning
Milestone target: M3
JSR 296: Swing application framework
An API to define the basic structure of a typical Swing application, thereby eliminating lots of boilerplate code and providing a much-improved initial developer experience
Lead: Alexander Potochkin
Links: JSR 296
Milestone target: M5
Swing updates
Small additions to the Swing API including the JXLayer component decorator, JXDatePicker, and possibly CSS-based styling
Lead: Richard Bair; team: Alexander Potochkin
Links: JXLayer project; JXDatePicker api
Enterprise
Update the XML stack
Upgrade the JAXP, JAXB, and JAX-WS APIs to the most recent stable versions
Milestone target: M5