Java 17 is only around the corner in the fall, but the next version of the JDK (Java Development Kit) is already taking shape: it becomes clear if there are several features in the development plans for JDK (JEP for short) Will be the programming language.
New rendering pipeline for MacOS
Java developers submitted plans for two new features at the end of February, namely rendering pipeline for MacOS (JEP 382) and advanced pseudo-random number generators (PRNG, JEP 356). As an alternative to the existing pipeline, the new one must access the Apple Metal API. The alternative is suggested to use the existing pipeline outdated OpenGL API, which will be removed from Apple MacOS in one of future versions.
The new pipe connection is proposed in JEP 382 Must be compatible with Java-2D-API using Magos’ metal structure. In terms of functionality, the new pipeline should be similar to the previous one, but at least provide better or better performance. According to the plan, the developers are now working on a clear framework so that the new pipeline can be used in parallel with the old OpenGL API until the old API is no longer available. No new Java or JDK APIs are planned.
Uniform API for pseudo-random number generators
Pseudo-random number generators enable new interface types, the function of which is to introduce an additional class of divisible PRNG algorithms called avoidable PRNG and LXM. New interface
RandomGenerator According to the plan, all existing PRNGs and those to be included should have the same API. The novelty includes four more special features
RandomGeneratorInterfaces. According to their own reports, the drafters of the project see many potential applications for enhancing Java with pseudo-random number generators. According to the announcement, developers will no longer have to implement additional PRNG algorithms. According to the plan, three methods that are already widely used in other development environments have already been included.
Scheme described in JEP 356 Aims to enable Java developers to use a variety of interchangeable PRNG algorithms in applications. The new feature will support stream-based programming, thus streaming PRNG objects as well. A copy of the code will become obsolete from existing PRNG classes, as well as class behavior
java.util.Random Should be maintained as planned.