This Specification defines version 18.3 of the Java Platform, Standard Edition.
|A1||Complete API Specification|
|A2||API Specification differences|
|A3||Java Language & Virtual Machine Specifications|
This release continues the evolution of the Platform to ensure the broadest possible success of the core Java technology. It adds features which address trends in the programming community and hardware architectures.
This document specifies API features, enhancements, clarifications, and bug fixes. The specifications of those changes are contained in two accompanying documents: Annex 1 is the complete Java SE 18.3 API Specification and Annex 2 is an annotated API specification showing the exact differences relative to Java SE 9.
This Specification includes the Java SE 18.3 Editions of The Java Language Specification and The Java Virtual Machine Specification in Annex 3. The Java SE 18.3 Editions contain all corrections and clarifications made since the Java SE 9 Editions, as well as additions for features.
The Final Release of this Specification is expected to include all of the currently described features and updates; however, further changes may be forthcoming. For example, the Expert Group could determine that a feature is not yet ready for standardization.
Changes to the Java SE Platform Specification are categorized as either features or enhancements. A feature is, roughly speaking, a change of which at least one of the following statements is true:
Any addition that is not a feature is considered an enhancement.
There is, obviously, room for judgment when interpreting this definition. In order to maximize the visibility of Platform revisions we generally tend to consider borderline items to be features rather than enhancements.
|Language||Local-Variable Type Inference|
Work on features in the Java SE 18.3 Reference Implementation, which is the Java Development Kit, version 18.3 (JDK 18.3), is organized in terms of JDK Enhancement Proposals (JEPs). Each feature description includes a link to the corresponding JEP document as a convenience, but that document is not a normative part of this Specification.
Enhance the Java Language to extend type inference to declarations of local variables with initializers.
The Technology Compatibility Kit (TCK) for this Specification will test all of the Java SE modules included in an Implementation, and it will require that set to be closed. An Implementation that passes the TCK is considered to fully implement this Specification even if it does not include all of the Java SE modules.
This Specification defines the Licensor Name Space on a module-by-module basis. Provided that an Implementation that fully implements this Specification includes the required Licensor Name Space for each included module then it is not considered to subset the Licensor Name Space.
An Implementation of this Specification may provide a means to create further Implementations. If it does so then any such new Implementation need not include all of the modules present in the original Implementation, but it must satisfy the constraints of the preceding paragraphs.