Although not due till September, Java 17 has already begun to take form, with two proposed new options now eyed for the following improve to plain Java. A MacOS rendering pipeline proposal was added on February 25. Earlier this month, a proposal of enhanced pseudorandom quantity turbines was focused for the Java 17 launch.
Features filed as a part of OpenJDK’s Java Development Kit (JDK) 17 embody:
- A brand new rendering pipeline for MacOS, utilizing the Apple Metal API as a substitute for the prevailing pipeline that makes use of the deprecated OpenGL API. This proposal is meant to supply a totally practical rendering pipeline for the Java 2D API that makes use of the MacOS Metal framework and be prepared within the occasion Apple removes the OpenGL API from a future model of MacOS. The pipeline is meant to have practical parity with the prevailing OpenGL pipeline, with efficiency pretty much as good or higher in choose functions and benchmarks. A clear structure can be created that matches into the present Java 2D mannequin. The pipeline would coexist with the OpenGL pipeline till out of date. It isn’t a purpose of the proposal so as to add any new Java or JDK APIs.
- Enhanced pseudo-random quantity turbines that would offer new interface sorts and implementations for pseudorandom quantity turbines (PRNGs) together with jumpable PRNGs and a further class of splittable PRNG algorithms (LXM). A brand new interface,
RandomGenerator
, would provide a uniform API for all present and new PRNGs. Four specialised RandomGenerator interfaces can be supplied. Motivating the plan is a concentrate on a number of areas for enchancment within the space of pseudorandom quantity technology in Java. The effort doesn’t name for offering implementations of quite a few different PRNG algorithms. But three frequent algorithms have been added that already are extensively deployed in different programming language environments. Goals of the plan embody:- Making it simpler to make use of numerous PRNG algorithms interchangeably in functions.
- Improved assist for stream-based programming, offering streams of PRNG objects.
- Elimination of code duplication in present PRNG lessons.
- Preservation of present habits of sophistication
java.util.Random
.
In coming months, extra options might be proposed for JDK 17. Possibilities embody a international linker API, a vector API, and a foreign-memory entry API, all of that are presently in an incubator stage within the JDK 16 launch due March 16. Sealed lessons, in a second preview in JDK 16, may develop into…