public class WeakMemoryHolder
Helper to hold a memory object based on the lifetime of another object.
The intended use is to assoziate a ByteBuffer with its backing Memory object.
The ByteBuffer is held by a WeakReference and a ReferenceQueue is used to
track GC of the ByteBuffer.
The references to the memory objects are released on access of WeakMemoryHolder.