View ToC

Java 16 - Other Enhancements

JEP 338 − Vector API (Incubator)

JIT Compiler optimizes the arithmetic algorithms, by transforming some scalar operations (one item at a time) into vector operations (multiple items at a time) automatically. But developers had no control over this process. Even not all scalar operations can be converted into vector operations. With this JEP, a new VECTOR API is introduced to allow developers to perform Vector operations explicitly.

It is an incubator module, jdk.incubator.vector, to express vector computations to reliably compile at runtime to optimal vector hardware instructions.

JEP 347 − Enable C++14 Language Features

Till JDK 15, JDK supports C++98/03 language standards. With JEP 347, now Java formally allow C++ source code changes within the JDK to use C++14 language features, and to provide specific guidance about which of those features may be used in HotSpot code.

JEP 357/369 − Migrate from Mercurial to GitHub

With JEP 357/369, OpenJDK Source code is moved from Mercurial to Git/GitHub. Following are the primary factors for this movement.

  • Large File size of version control system metadata (Mercurial)

  • Available tooling

  • Available hosting

JEP 380 − Unix-Domain Socket Channels

The Unix-domain sockets are for inter-process communication (IPC) on the same host, to exchange data between processes. These sockets are similar to TCP/IP sockets except being addressed by filesystem pathnames rather than the Internet Protocol (IP) addresses and port numbers. Most Unix platforms, Windows 10 and Windows Server 2019, supports the Unix-domain sockets. JEP 380 added Unix-domain socket support to SocketChannel and ServerSocketChannel.