Welcome!

Java Authors: Salvatore Genovese, Andreas Grabner, Raymond Feng, Maureen O'Gara, Per Sjofors

Related Topics: Java

Java: Article

From Within the Java Community Process Program

The JVM, J2SE 1.5, and more

Welcome to the March edition of the JCP column. Each month you can read about the Java Community Process: newly submitted JSRs, new draft specs, Java APIs that were finalized, and other news from the JCP. This month I'll discuss the public review of the upcoming J2SE 1.5 technology and two JSRs that are part of that release, Nokia's JSR 226, and a JSR in maintenance review.

J2SE 1.5 in Public Review
After completing its Community Review, JSR 176, the so-called umbrella JSR for the J2SE 1.5 release, quickly entered into Public Review. In parallel, a beta release of the reference implementation was also brought out so that there are not just draft specs to look at but real software to play with. J2SE 1.5 features many great new items, including the various language functionalities such as generics, metadata, and autoboxing. I want to mention a different one though - VM sharing - a new feature in the beta release. This is a complex functionality and the J2SE engineering team is keenly interested to find out from you how this is working out, so if you could share your experiences with them? Thanks!

JSR 133
JSR 133 entered into Public Review together with the umbrella JSR. This JSR updates the memory model and threading specification for the Java Virtual Machine and the programming language. The goals of this JSR are to ensure that developers can write reliable multithreaded applications while understanding which thread constructions are legal, and to enable virtual machine implementers to build this technology in a high-performant way.

Openness and Transparency
JSR 166 works on a set of concurrency utilities and is led by Doug Lea. This specification effort is part of J2SE 1.5, but I included it in my column for a different reason. The manner in which this JSR is organized is a great illustration of what is actually possible within the rules of the JCP process. JCP 2.6, which will be launched in March, provides best practices for most of its processes and hopefully will result in many more JSRs being run so well. This JSR managed to find a balance between keeping the working group small enough so that it can get work done and making the thought processes of the working group accessible to whoever was interested.

The technology that JSR 166 covers is very specific, and the spec lead knew that there were only a few recognized experts on the topic who also had the ability to commit substantial time each week to work on this, and that there were many more who may not have had the time or the same level of expertise but were very interested in its progress nonetheless. Some of the tools that the expert group used to achieve this were multiple mailing lists, a repository to track changes to the draft specification, and the frequent release of intermediate drafts to a large audience of observers.

JSR 226
In the J2ME environment this JSR, led by Nokia, just recently successfully navigated the Community Review stage. This proposal works on a Scalable 2D Graphics Vector API, and it depends upon the W3C's Scalable Vector Graphics (SVG) format. Examples of the use of this API are map visualization and scalable icons. This API is aimed at the J2ME MIDP 2.0 platform. The JSR has relationships with several other J2ME-based JSRs, such as JSR 135 (Mobile Media API), JSR 184 (Mobile 3D Graphics), JSR 209 (Advanced Graphics and User Interface), and JSR 217 (Personal Basis Profile).

Maintenance Review
After a JSR goes final, the story doesn't end there, of course. Developers start working with the technology, questions come in, clarifications and new features are requested, and so on. Typically one of two things happens next. Either the spec lead starts a new JSR to develop a major new version of the API or the spec lead (now called maintenance lead) proposes a set of smaller changes, clarifications, corrections, etc., to the community. This is called the Maintenance Review stage and JSR 115, the Authorization Contract for Containers API, is currently in this stage.

That's it for this month. I'm very interested in your feedback. Please e-mail me with your comments, questions, and suggestions.

More Stories By Onno Kluyt

Onno Kluyt is the chairperson of the JCP Program Management Office, Sun Microsystems.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.