Find JSRs
Submit this Search

Ad Banner

Summary  |  Proposal  |  Detail (Summary & Proposal)  |  Nominations
JSRs: Java Specification Requests
JSR 386: JavaTM SE 12

Stage Access Start Finish
Final Release Download page 12 Mar, 2019  
Public Review Final Approval Ballot View results 26 Feb, 2019 04 Mar, 2019
Public Review Ballot View results 04 Dec, 2018 10 Dec, 2018
Public Review Download page 06 Nov, 2018 19 Nov, 2018
Early Draft Review Download page 24 Jul, 2018 07 Aug, 2018
Expert Group Formation   05 Jun, 2018 06 Jun, 2018
JSR Review Ballot View results 29 May, 2018 04 Jun, 2018
JSR Review   10 May, 2018 23 May, 2018
Status: Final
JCP version in use: 2.11
Java Specification Participation Agreement version in use: 2.0

The JSR for the Java SE 12 Platform.

Expert Group Transparency:
  Public Project Page
  Public Communications
  Issue Tracking


Specification Leads
  Iris Clark Oracle
Star Spec Lead Brian Goetz Oracle
Expert Group
  Azul Systems, Inc.
: Simon Ritter
: Tim Ellison
: Iris Clark
: Brian Goetz
Red Hat
: Andrew Haley
: Volker Simonis

Updates to the Original JSR

The following updates have been made to the original proposal:

The Spec Lead and Expert Group changed the JSR to JCP 2.11.

Original Java Specification Request (JSR)

Identification | Request | Contributions

Section 1. Identification

Submitting Member: Oracle

Name of Contact Person: Iris Clark

E-Mail Address:

Telephone Number: +1 408 276 3909

Fax Number: -

Specification Lead Members:

Specification Leads: Iris Clark, Brian Goetz

E-Mail Addresses:,

Telephone Numbers: +1 408 276 3909

Fax Number: -

Initial Expert Group Membership:

Azul Systems, Inc.
Red Hat

Supporting this JSR:

Azul Systems, Inc.
Red Hat

Section 2: Request

2.1 Please describe the proposed Specification:

The Java Platform, Standard Edition ("Java SE") is the core Java platform for general-purpose computing. In this release of the platform, Java SE 12, we intend to address a number of areas based upon trends in the programming community, trends in hardware architectures, and above all our continued commitment to ensuring the broadest possible success of core Java technology for years to come.

The Java SE 12 Platform Specification will build upon the Java Language Specification, the Java Virtual Machine Specification, and the Java SE APIs defined in Java SE 12. As a Platform Specification, this document will directly specify most of the features, enhancements, clarifications, and bug fixes that are part of this release. It may also specify changes to other Specifications which are revised in Maintenance Releases of existing Component JSRs.

Features for inclusion will be proposed by the Specification Leads to the Expert Group during the course of this JSR as they approach a suitable level of completeness in their design, specification, and implementation.

2.2 What is the target Java platform? (i.e., desktop, server, personal, embedded, card, etc.)

This JSR defines a release of the Java SE platform targeted at embedded, desktop, server, and cloud environments.

2.3 The Executive Committees would like to ensure JSR submitters think about how their proposed technology relates to all of the Java platform editions. Please provide details here for which platform editions are being targeted by this JSR, and how this JSR has considered the relationship with the other platform editions.

This JSR defines version 12 of Java SE.

2.4 What need of the Java community will be addressed by the proposed specification?

Continued evolution of Java SE, including evolution of the Java Virtual Machine, Java Language, and Java SE APIs, is essential to the ongoing vibrance of the Java ecosystem.

2.5 Why isn't this need met by existing specifications?

The set of VM, language, and library features that is relevant to today's developers is ever-growing.

2.6 Please give a short description of the underlying technology or technologies:

Potential features known at the time of filing this Request are listed in section 3.1.

2.7 Is there a proposed package name for the API Specification? (i.e., javapi.something, org.something, etc.)

The Java SE platform itself does not have a single package name. All of its requirements are reflected in the packages of its constituent Java SE APIs.

2.8 Does the proposed specification have any dependencies on specific operating systems, CPUs, or I/O devices that you know of?


2.9 Are there any security issues that cannot be addressed by the current security model?

None are known at this time.

2.10 Are there any internationalization or localization issues?

None are known at this time.

2.11 Are there any existing specifications that might be rendered obsolete, deprecated, or in need of revision as a result of this work?

The Java Language Specification, the Java Virtual Machine Specification, the Java Native Interface, and other elements of the Java SE Platform Specification may be revised by this JSR.

2.12 Please describe the anticipated schedule for the development of this specification.

Expert Group formation: May 2018
Early Draft Review: Jun-Jul 2018
Public Review: Oct-Nov 2018
Proposed Final Draft: Jan-Feb 2018
Final Release: Mar 2019

2.13 Please describe the anticipated working model for the Expert Group working on developing this specification.

The Expert Group will communicate primarily via e-mail, using a publicly-readable mailing list. The Expert Group may additionally hold conference calls, the minutes of which will be made public on the mailing list.

As the Specification Leads notify the Expert Group of features to be potentially included, the EG is expected to review the proposed specification for quality and implementability, and to promptly raise any concerns. We hope that additionally, the EG members will review the RI implementation, and comment on its quality and readiness.

2.14 Provide detailed answers to the transparency checklist, making sure to include URLs as appropriate:

  • Is the schedule for the JSR publicly available, current, and updated regularly?

    We intend for this to be the case.

  • Can the public read and/or write to a wiki for the JSR?

    We do not plan to have a wiki, but there will be a well-known public home page for the JSR, and the public can use the mailing lists to submit comments on the specification.

  • Is there a publicly accessible discussion board for the JSR that you read and respond to regularly?

    No; discussion will take place on mailing lists (see 2.18).

  • Have you spoken at conferences and events about the JSR recently?


  • Are you using open-source processes for the development of the RI and/or the TCK?

    The source code for the RI will be developed in the JDK Project in the OpenJDK Community. Weekly early-access builds will be available for anyone to test and review.

  • What are the Terms of Use required to use the collaboration tools you have prepared to use with the Expert Group, so that prospective EG members can judge whether they are compatible with the JSPA?

  • What is the location of your publicly-accessible Issue list? In order to enable EC members to judge whether Issues have been adequately addressed, the list must make a clear distinction between Issues that are still open, Issues that have been deferred, and those that are closed, and must indicate the reason for any change of state.

  • What is the mechanism for the public to provide feedback on your JSR?

    The public "comments" list (see 2.18)

  • Where is the publicly-accessible document archive for your Expert Group?

    See 2.20

  • Does the Community tab for my JSR have links to and information about all public communication mechanisms and sites for the development of my JSR?

    We intend this to be the case

  • Do you have a Twitter account or other social networking feed which people can follow for updates on your JSR?


  • Which specific areas of feedback should interested community members (such as the Adopt-a-JSR program) provide to improve the JSR (please also post this to your Community tab)?

    Feedback in all areas is welcome

2.15 Please describe how the RI and TCK will be delivered, i.e. as part of a profile or platform edition, or stand-alone, or both. Include version information for the profile or platform in your answer.

The RI will be the Java Development Kit (JDK), version 12. The TCK will be the Java Compatibility Kit (JCK), version 12.

2.16 Please state the rationale if previous versions are available stand-alone and you are now proposing in 2.13 to only deliver RI and TCK as part of a profile or platform edition (See sections 1.1.5 and 1.1.6 of the JCP 2 document).

Not applicable.

2.17 Please provide a description of the business terms for the Specification, RI and TCK that will apply when this JSR is final.

These are the licenses for the Specification and the TCK.
They are similar to those for Java SE 11 (JSR 384):
Specification and TCK.

Similar to Java SE 11, the RI will be made available under the GNU General Public License, version 2 for the virtual machine and the GNU General Public License, version 2, with the Classpath Exception for class libraries and portions of the virtual machine that expose public APIs. In addition, the OpenJDK Assembly Exception applies to that code licensed by Oracle at

2.18 Please describe the communications channel you have established for the public to observe Expert Group deliberations, provide feedback, and view archives of all Expert Group communications.

We will implement a trio of mailing lists in an approach already used by earlier JSRs, including that for Java SE 10 (JSR 383) and Java SE 11 (JSR 384):

  • Expert Group discussions will be carried out on an "experts" mailing list, limited to Expert Group members.
  • The "observers" list will be for those who wish to monitor and, perhaps, discuss the EG's progress. Messages sent to the "experts" list will automatically be forwarded to this list. Anyone may subscribe to this list, and any subscriber may post. EG members are under no obligation to follow the traffic on this list.
  • The "comments" list will be for sending comments, suggestions, and other feedback directly to the EG. Only EG members may subscribe to this list, but anyone may post. The EG will read all messages sent to this list, and will record feedback in the issue tracker as appropriate.

The archives of all of these lists will be publicly readable.

2.19 What is the URL of the Issue Tracker that the public can read, and how does the public log issues in the Issue Tracker?

The public may log issues to the Issue Tracker,, by sending mail to the public "comments" lists (see 2.18).

2.20 Please provide the location of the publicly accessible document archive you have created for the Expert Group.

Section 3: Contributions

3.1 Please list any existing documents, specifications, or implementations that describe the technology. Please include links to the documents if they are publicly available.

This JSR builds on and may update the Java Language Specification, the Java Virtual Machine Specification, the Java SE APIs, the Java Native Interface, as well as additional specifications incorporated into the SE APIs such as the Serialization Specification, the JAR file specification, etc.

Most features incorporated in this specification will be specified directly by this JSR. Features are primarily designed and developed in the OpenJDK Community, and are described by JDK Enhancement Proposals (JEPs) or by bug reports or enhancement requests in the OpenJDK Issue Tracker.

3.2 Explanation of how these items might be used as a starting point for the work.

Most features will be explored, designed, prototyped, and implemented in the OpenJDK Community before being brought to the Expert Group for inclusion in Java SE 12.