Want to know where the JDK's Going? Follow the JEPs
In JDK Enhancement Proposal (JEP) 155, Doug Lea proposes concurrency updates related to JSR 166 (Concurrency Utilities). Why is this significant? Well, Doug's proposed enhancements are not actually part of JSR 166 (which was finalized almost eight years ago); Doug's JEP 155 instead represents an instance of the interactive design process that eventually determines what the next major release of the JDK will include.
If you're not familiar with the term "JEPs", JDK Enhancement Proposals (JEPs) are proposals for JDK enhancements that provide a baseline statement and overview of a proposed enhancement to the JDK. Each new version of Java has as its objective the implementation of a set of functionalities that are defined in JSRs. JEPs are in a sense proposals for meeting those objectives, but with more focus on the actual facets of implementation detail. "How will we accomplish this objective?"
The JEP process is quite new. JEP 1 was created by Mark Reinhold on 23 June 2011. That JEP defines the "JDK Enhancement Proposal & Roadmap Process." What are the JEP process objectives? JEP 1 says:
The primary goal of this process is to produce a regularly-updated list of proposals to serve as the long-term Roadmap for JDK Release Projects and related efforts. The Roadmap should extend at least three years into the future so as to allow sufficient time for the most complex proposals to be investigated, defined, and implemented.
A secondary goal of this process is to define a uniform format and a central archive for enhancement proposals so that they are easy for all interested parties to find, read, comment upon, and contribute to. Proposal documents evolve as work upon them progresses so that, in the end, a completed proposal serves as an authoritative, though not necessarily self-contained, record of what was changed and why.
So, are JEPs an attempt to circumvent the JCP? Mark Reinhold anticipated this question, as he wrote into JEP 1:
This process does not in any way supplant the Java Community Process. The JCP remains the governing body for all standard Java SE APIs and related interfaces. If a proposal accepted into this process intends to revise existing standard interfaces, or to define new ones, then a parallel effort to design, review, and approve those changes must be undertaken in the JCP, either as part of a Maintenance Review of an existing JSR or in the context of a new JSR.
Following the JDK's future through subscribing to the OpenJDK email lists is likely far more than what most developers have time for. But, JEPs come through at a much slower pace, yet they highlight many prominent issues that critical for the next version of the JDK. If you're interested in the JDK's future, I very much recommend following what's happening with JDK Enhancement Proposals.
As for me, you can look forward to more blogs about specific JDK Enhancement Proposals. I've written about JEPs in the past. I think their invention was a great idea, an excellent advance in terms of openness for the Java community!
- Mamadou Lamine Ba, Consuming a REST service within JSF using JQuery and Handlebars [THE TRUE MVC APPROACH];
- Larry Fernandez, Report Generation and HTML, the odd couple;
- Evan Summers, Deque shredder;
- Sanjay Dasgupta, FX.js - A Smarter FXML Alternative;
- Larry Fernandez, Creating the Transaction Monitor - humble origins; and
- Gabriele Carcassi, pvmanager: a framework to deal with real-time data (part 1).
Our current Java.net poll asks What's your view of the proposed removal of Project Jigsaw from Java 8?. Voting will be open until Friday, August 10.
Here are the stories we've recently featured in our Java news section:
- Tori Wieldt announces Music Festival During JavaOne;
- Markus Eisele test-drives Oracle Public Cloud Java Service with NetBeans in Early Access;
- Sebastian Meyen interviews JAXconf - Jez Humble gives us a brief insight into Continuous Delivery;
- Kuba Kubrynski discusses Micro-Benchmarking in Java - Revisited;
- Andreas Grabner presents Top Performance Mistakes when moving from Test to Production: Excessive Logging;
- Vasudevan Thiyagarajan illustrates Next-generation concurrency: Why thread-based application parallelism is not the future;
- Roger Brinkley presents Java Spotlight Episode 93: Jonathan Giles on JavaFX 2.2 UI Controls;
- Micha Kops demonstrates Integration Testing IMAP, SMTP and POP3 with GreenMail;
- Markus Eisele demonstrates GlassFish JDBC Security with Salted Passwords on MySQL;
- Martijn Verburg shares LJC Minutes for Meeting on 25th July 2012;
- James Denman speculates New graduates may be predicting the future of Java development;
- Prabath Siriwardena reports on The 3rd Java Colombo Meetup;
- Dustin Marx discusses Undocumented Oracle JVM HttpServer Properties; and
- Randrey demonstrates How to build OpenJDK projects from NetBeans.
Here's your chance to be in the Java Music Video for 2012! With your webcam, phone or camera, film yourself doing walks, spins, or drinking (ahem) Java. Watch this video to see samples and where to upload... Now show us what you got and FREESTYLE!
Before that we featured Stuart Marks' OSCON 2012 Recap:
OSCON was an interesting conference again this year. Unlike last year there was no Java sub-conference. Instead, there was a Java/JVM track as part of the main conference. I thought this worked out better; it felt like part of something bigger. This year the emphasis was on open source community...
Our latest Java.net article is Ken Rimple's Spring Roo and WebFlow. The article is the first in a series that will explore how Spring Roo integrates (and doesn't) with various technologies. This first article discusses Roo and Spring Web Flow.
Subscriptions and Archives: You can subscribe to this blog using the java.net Editor's Blog Feed. You can also subscribe to the Java Today RSS feed and the java.net blogs feed. You can find historical archives of what has appeared the front page of Java.net in the java.net home page archive.