Last week I attended the JCP Executive Committee meeting in Bonn, Germany, to present Oracle’s proposal for Plan B. I’m pleased to report that the response to the technical content was constructive and generally positive. I hope to submit the Umbrella JSRs for Java SE 7 and Java SE 8 shortly, after a few remaining issues are resolved.
For the record, and since people have been asking, here’s a summary of the key features we’re proposing for these two releases.
Java SE 7 — Mid 2011
- JSR 292: Support for Dynamically-Typed Languages (“InvokeDynamic”)
- JSR TBD: Small Language Enhancements (Project Coin)
- Upgrade Class-Loader Architecture
- Method to Close a URLClassLoader
- Concurrency and Collections Updates (including the Fork/Join Framework)
- Unicode 6.0
- Locale Enhancements (IETF BCP 47 & UTR 35)
- JSR 203: More New I/O APIs (“NIO 2”)
- TLS 1.2
- Elliptic-Curve Cryptography (ECC)
- JDBC 4.1
- Translucent & Shaped Windows
- Heavyweight/Lightweight Component Mixing
- Swing: Nimbus Look-and-Feel
- Swing: JLayer Component
- Update the XML Stack (JAXP, JAXB, & JAX-WS)
(Some items in the JDK 7 feature list are not present here because they are specific to the JDK rather than general Java SE Platform features.)
Java SE 8 — Late 2012
- JSR 294: Language and VM Support for Modular Programming
- JSR TBD: Platform Modularization
- JSR TBD: Lambda Expressions, Default Methods, & Bulk Data Operations (Project Lambda)
- JSR 308: Annotations on Java Types
- JSR TBD: More Small Language Enhancements (Project Coin part 2)
These lists should be considered neither exhaustive nor final—they are merely the starting points at which the Expert Groups for the Umbrella JSRs will begin their deliberations.