JDK 11 is in Rampdown Phase One
JDK 11’s Rampdown Phase One is here. So, what does this mean for the next Java version? The lineup is set – JDK 11 is locked in with 17 new JEPs for developers to tool around and explore. JDK 11 is on track for a general release in September.
JDK 11 is right on time.
Java has a very predetermined path for release. This week, JDK 11 entered Rampdown Phase One. Basically, this is when incoming changes are increasingly scrutinized, to make sure nothing breaks this close to the release date.
As of June 28, the overall feature set is frozen. No further JEPs will be targeted to this release.
However, select bug fixes will be accepted and approved. During Phase One, only P1-P3 bugs can be fixed. This phase will run for a month to get all the bugs squared away. General availability is set for September 25, 2018!
JDK 11 features
Introduce nests, an access-control context that aligns with the existing notion of nested types in the Java programming language. Nests allow classes that are logically part of the same code entity, but which are compiled to distinct class files, to access each other’s private members without the need for compilers to insert accessibility-broadening bridge methods.
Extend the Java class-file format to support a new constant-pool form,
CONSTANT_Dynamic. Loading a
CONSTANT_Dynamic will delegate creation to a bootstrap method, just as linking an invoke dynamic call site delegates linkage to a bootstrap method.
Improve the existing string and array intrinsics, and implement new intrinsics for the
java.lang.Math sin, cos and log functions, on AArch64 processors.
Develop a GC that handles memory allocation but does not implement any actual memory reclamation mechanism. Once the available Java heap is exhausted, the JVM will shut down.
Remove the Java EE and CORBA modules from the Java SE Platform and the JDK. These modules were deprecated in Java SE 9 with the declared intent to remove them in a future release.
var to be used when declaring the formal parameters of implicitly typed lambda expressions.
Implement key agreement using Curve25519 and Curve448 as described in RFC 7748.
327: Unicode 10
328: Flight Recorder
Provide a low-overhead data collection framework for troubleshooting Java applications and the HotSpot JVM.
Implement the ChaCha20 and ChaCha20-Poly1305 ciphers as specified in RFC 7539. ChaCha20 is a relatively new stream cipher that can replace the older, insecure RC4 stream cipher.
Enhance the java launcher to run a program supplied as a single file of Java source code, including usage from within a script by means of “shebang” files and related techniques.
Provide a low-overhead way of sampling Java heap allocations, accessible via JVMTI.
Implement version 1.3 of the Transport Layer Security (TLS) Protocol.
The Z Garbage Collector, also known as ZGC, is a scalable low-latency garbage collector.
unpack200 tools, and the Pack200 API in