Skip to main content

Want to know where the JDK's Going? Follow the JEPs

Posted by editor on August 4, 2012 at 10:43 PM PDT

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! Weblogs

Since my last blog post, several people have posted new blogs:


Our current poll asks What's your view of the proposed removal of Project Jigsaw from Java 8?. Voting will be open until Friday, August 10.

Java News

Here are the stories we've recently featured in our Java news section:


Our latest Spotlight is Tori Wieldt's Be in the 2012 Java Music Video:

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 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 Editor's Blog Feed. You can also subscribe to the Java Today RSS feed and the blogs feed. You can find historical archives of what has appeared the front page of in the home page archive.

-- Kevin Farnham

Twitter: @kevin_farnham

Related Topics >>