Is it possible to create a persistent memory object outside JVM memory that can be used inside the JVM as an object, so that it survives a JVM restart?
Particular idea i
You can use MappedByteBuffer yourself or you can use a data structure built on top of a MappedByteBuffer so it can be available on restart and even shared between JVMs.
Chronicle-Map has a key-value store modelled as a ConcurrentMap. e.g. Map
Chronicle-Queue is a journal of every event in your system e.g. a log you can consume in real-time.
These are both open source and free and save you having to work out how to store and retrieve objects from a persisted store.
Note: as these are off-heap and persisted, they can be TBs in size without impacting the GC pauses times.