Project Valhalla is augmenting the Java object model with value objects, combining the abstractions of object-oriented programming with the performance characteristics of simple primitives. Supplementary changes to Javaâs generics will carry these performance gains into generic APIs.
This Project is sponsored by the HotSpot Group.
JEPsValhalla project features will be added to Java over multiple releases. This process is managed with JEPs, each of which facilitates the development and integration into the JDK of a cohesive set of changes.
There are five distinct feature sets under development:
Value Classes and Objects, introducing objects that lack identity and thus can have optimized encodings
Null-Restricted and Nullable Types, providing language support for null-aware types and runtime enforcement of null restrictions
Null-Restricted Value Class Types, improving the performance of fields and arrays with null-restricted value class types
Enhanced Primitive Boxing, allowing primitives to be treated more like objects
Parametric JVM, preserving and optimizing generic class and method parameterizations at runtime
Weâve also worked on some supplementary tasks and features, including:
JEP 181: Nest-Based Access Control (delivered in 11)
JEP 309: Dynamic Class-File Constants (delivered in 11)
JEP 334: JVM Constants API (delivered in 12)
JEP 371: Hidden Classes (delivered in 15)
JEP 390: Warnings for Value-Based Classes (delivered in 16)
These documents and presentations present a more holistic view of the Valhalla projectâs goals and design considerations.
Development takes place in a public OpenJDK repository, with occasional early-access builds being published.
Interested developers are encouraged to experiment with these early releases.
Branches in the repository include lworld
(the main line of Valhalla development), master
(tracking mainline OpenJDK), and various others prototyping proposed features.
See the legacy page for links to earlier proposed JEPs, design documents, presentations, and prototypes.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4