View ToC

Java 17 - Other Enhancements



JEP 414: Vector API (Second Incubator))

Introduce a platform-agnostic vector API, which was first introduced in JDK 16 and will be reintroduced in JDK 17, for expressing vector computations that reliably compile to optimal vector instructions on supported CPU architectures at runtime, outperforming equivalent scalar computations.
- The vector API in JDK 17 has been improved for performance and implementation, including enhancements to translate byte vectors to and from boolean arrays.

JEP 412: Foreign Function & Memory API (Incubator)

Introduce an API that allows Java programmes to call native libraries and process native data without risking JNI by efficiently executing foreign functions (i.e., code that runs outside of the JVM) and securely accessing foreign memory (i.e. memory not handled by the JVM).
- The Foreign-Memory Access API and the Foreign Linker API, both incubating APIs, are combined in this JEP proposal. It had previously been the focus of Java 14, 15, and 16

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.