JEP 349 improved JDK Flight Recorder data to uninterrupted monitoring for in-process along with out-of-process applications.
Till Java 13, for using JFR data, users need to start a recording, stop and dump the content to disk and then analyze the recording file. This address is well suited for application profiling but for monitoring.
Now the package jdk.jfr.consumer is improved to subscribe to events asynchronously. Using this subscription, users can read recording data directly, or stream, from the disk repository and don’t have a need to dump a recording file.
With this JEP, Java 13 added a new JDK-specific file mapping mode to allow FileChannel API use to make a MappedByteBuffer occurrence and Non-volatile memory can be retrieved. Non-Volatile Memory or NVM is a determined memory and is used to store data forever.
Now MappedByteBuffer API holds up direct memory upgradations and gives a durability guarantee which is needed for higher-level APIs such as block file systems, journaled logs, persistent objects, etc to apparatus determined data types.
Java 14 now permits java programs to safely and productively access foreign memory outside of the Java heap. Earlier mapDB, Memcached java libraries gave foreign memory access. This JEP set one sight to provide a cleaner API to operate on all kinds of foreign memories(native memory, persistent memory, managed heap memory, etc. ) in a seamless way. This JEP takes care of the safety of JVM anyhow of foreign memory type. Garbage collection/Memory deallocation operations must be obviously mentioned as well.
This API is established on three important abstractions MemorySegment, MemoryAddress and MemoryLayout, and is a preserving method to reach both heap and also non-heap memory