Package one.microstream.memory
Interface MemoryAccessor
- All Known Implementing Classes:
- JdkMemoryAccessor,- MemoryAccessorGeneric,- MemoryAccessorReversing
public interface MemoryAccessor
- 
Method SummaryModifier and Type Method Description longallocateMemory(long bytes)default byte[]asByteArray(long value)default byte[]asByteArray(long[] values)voidcopyArrayToAddress(boolean[] array, long targetAddress)voidcopyArrayToAddress(byte[] array, long targetAddress)voidcopyArrayToAddress(char[] array, long targetAddress)voidcopyArrayToAddress(double[] array, long targetAddress)voidcopyArrayToAddress(float[] array, long targetAddress)voidcopyArrayToAddress(int[] array, long targetAddress)voidcopyArrayToAddress(long[] array, long targetAddress)voidcopyArrayToAddress(short[] array, long targetAddress)voidcopyRange(long sourceAddress, long targetAddress, long length)voidcopyRangeToArray(long sourceAddress, boolean[] target)voidcopyRangeToArray(long sourceAddress, byte[] target)voidcopyRangeToArray(long sourceAddress, char[] target)voidcopyRangeToArray(long sourceAddress, double[] target)voidcopyRangeToArray(long sourceAddress, float[] target)voidcopyRangeToArray(long sourceAddress, int[] target)voidcopyRangeToArray(long sourceAddress, long[] target)voidcopyRangeToArray(long sourceAddress, short[] target)MemoryStatisticscreateHeapMemoryStatistics()MemoryStatisticscreateNonHeapMemoryStatistics()booleandeallocateDirectByteBuffer(ByteBuffer directBuffer)voidensureClassInitialized(Class<?> c)default voidensureClassInitialized(Class<?> c, Iterable<Field> usedFields)Uses the passed fields if required by the implementation.voidfillMemory(long targetAddress, long length, byte value)voidfreeMemory(long address)booleanget_boolean(long address)booleanget_boolean(Object instance, long offset)byteget_byte(long address)byteget_byte(Object instance, long offset)charget_char(long address)charget_char(Object instance, long offset)doubleget_double(long address)doubleget_double(Object instance, long offset)floatget_float(long address)floatget_float(Object instance, long offset)intget_int(long address)intget_int(Object instance, long offset)longget_long(long address)longget_long(Object instance, long offset)shortget_short(long address)shortget_short(Object instance, long offset)longgetDirectByteBufferAddress(ByteBuffer directBuffer)ObjectgetObject(Object instance, long offset)ByteBufferguaranteeDirectByteBuffer(ByteBuffer directBuffer)voidguaranteeUsability()Guarantees the full usability of this class by validating if all functionality is usable.<T> TinstantiateBlank(Class<T> c)booleanisDirectByteBuffer(ByteBuffer byteBuffer)default booleanisReversing()longobjectFieldOffset(Class<?> objectClass, Field field)Similar toobjectFieldOffset(Field), but with the specific object class.
 The difference is that the actual object's class is not the declaring class of its fields if it only extends another class but does not declare an object field itself.longobjectFieldOffset(Field field)Returns an unspecified, abstract "offset" of the passedFieldto specify a generic access of the field's value for an instance of its declaring class that can be used with object-based methods likeset_int(Object,long,int).default long[]objectFieldOffsets(Class<?> objectClass)long[]objectFieldOffsets(Class<?> objectClass, Field... fields)Array alias vor #objectFieldOffset(Class, Field).default long[]objectFieldOffsets(Class<?> objectClass, Predicate<? super Field> selector)long[]objectFieldOffsets(Field... fields)Array alias vor #objectFieldOffset(Field).longreallocateMemory(long address, long bytes)voidset_boolean(long address, boolean value)voidset_boolean(Object instance, long offset, boolean value)voidset_booleanInBytes(byte[] bytes, int index, boolean value)voidset_byte(long address, byte value)voidset_byte(Object instance, long offset, byte value)voidset_byteInBytes(byte[] bytes, int index, byte value)voidset_char(long address, char value)voidset_char(Object instance, long offset, char value)voidset_charInBytes(byte[] bytes, int index, char value)voidset_double(long address, double value)voidset_double(Object instance, long offset, double value)voidset_doubleInBytes(byte[] bytes, int index, double value)voidset_float(long address, float value)voidset_float(Object instance, long offset, float value)voidset_floatInBytes(byte[] bytes, int index, float value)voidset_int(long address, int value)voidset_int(Object instance, long offset, int value)voidset_intInBytes(byte[] bytes, int index, int value)voidset_long(long address, long value)voidset_long(Object instance, long offset, long value)voidset_longInBytes(byte[] bytes, int index, long value)voidset_short(long address, short value)voidset_short(Object instance, long offset, short value)voidset_shortInBytes(byte[] bytes, int index, short value)voidsetObject(Object instance, long offset, Object value)default MemoryAccessortoReversing()
- 
Method Details- 
guaranteeUsabilityvoid guaranteeUsability()Guarantees the full usability of this class by validating if all functionality is usable.- Throws:
- Error
 
- 
getDirectByteBufferAddress
- 
deallocateDirectByteBuffer
- 
isDirectByteBuffer
- 
guaranteeDirectByteBuffer
- 
allocateMemorylong allocateMemory(long bytes)
- 
reallocateMemorylong reallocateMemory(long address, long bytes)
- 
freeMemoryvoid freeMemory(long address)
- 
fillMemoryvoid fillMemory(long targetAddress, long length, byte value)
- 
get_bytebyte get_byte(long address)
- 
get_booleanboolean get_boolean(long address)
- 
get_shortshort get_short(long address)
- 
get_charchar get_char(long address)
- 
get_intint get_int(long address)
- 
get_floatfloat get_float(long address)
- 
get_longlong get_long(long address)
- 
get_doubledouble get_double(long address)
- 
get_byte
- 
get_boolean
- 
get_short
- 
get_char
- 
get_int
- 
get_float
- 
get_long
- 
get_double
- 
getObject
- 
set_bytevoid set_byte(long address, byte value)
- 
set_booleanvoid set_boolean(long address, boolean value)
- 
set_shortvoid set_short(long address, short value)
- 
set_charvoid set_char(long address, char value)
- 
set_intvoid set_int(long address, int value)
- 
set_floatvoid set_float(long address, float value)
- 
set_longvoid set_long(long address, long value)
- 
set_doublevoid set_double(long address, double value)
- 
set_byte
- 
set_boolean
- 
set_short
- 
set_char
- 
set_int
- 
set_float
- 
set_long
- 
set_double
- 
setObject
- 
set_byteInBytesvoid set_byteInBytes(byte[] bytes, int index, byte value)
- 
set_booleanInBytesvoid set_booleanInBytes(byte[] bytes, int index, boolean value)
- 
set_shortInBytesvoid set_shortInBytes(byte[] bytes, int index, short value)
- 
set_charInBytesvoid set_charInBytes(byte[] bytes, int index, char value)
- 
set_intInBytesvoid set_intInBytes(byte[] bytes, int index, int value)
- 
set_floatInBytesvoid set_floatInBytes(byte[] bytes, int index, float value)
- 
set_longInBytesvoid set_longInBytes(byte[] bytes, int index, long value)
- 
set_doubleInBytesvoid set_doubleInBytes(byte[] bytes, int index, double value)
- 
copyRangevoid copyRange(long sourceAddress, long targetAddress, long length)
- 
copyRangeToArrayvoid copyRangeToArray(long sourceAddress, byte[] target)
- 
copyRangeToArrayvoid copyRangeToArray(long sourceAddress, boolean[] target)
- 
copyRangeToArrayvoid copyRangeToArray(long sourceAddress, short[] target)
- 
copyRangeToArrayvoid copyRangeToArray(long sourceAddress, char[] target)
- 
copyRangeToArrayvoid copyRangeToArray(long sourceAddress, int[] target)
- 
copyRangeToArrayvoid copyRangeToArray(long sourceAddress, float[] target)
- 
copyRangeToArrayvoid copyRangeToArray(long sourceAddress, long[] target)
- 
copyRangeToArrayvoid copyRangeToArray(long sourceAddress, double[] target)
- 
copyArrayToAddressvoid copyArrayToAddress(byte[] array, long targetAddress)
- 
copyArrayToAddressvoid copyArrayToAddress(boolean[] array, long targetAddress)
- 
copyArrayToAddressvoid copyArrayToAddress(short[] array, long targetAddress)
- 
copyArrayToAddressvoid copyArrayToAddress(char[] array, long targetAddress)
- 
copyArrayToAddressvoid copyArrayToAddress(int[] array, long targetAddress)
- 
copyArrayToAddressvoid copyArrayToAddress(float[] array, long targetAddress)
- 
copyArrayToAddressvoid copyArrayToAddress(long[] array, long targetAddress)
- 
copyArrayToAddressvoid copyArrayToAddress(double[] array, long targetAddress)
- 
asByteArraydefault byte[] asByteArray(long[] values)
- 
asByteArraydefault byte[] asByteArray(long value)
- 
objectFieldOffsetReturns an unspecified, abstract "offset" of the passedFieldto specify a generic access of the field's value for an instance of its declaring class that can be used with object-based methods likeset_int(Object,long,int). Whether that offset is an actual low-level memory offset relative to an instance' field offset base or simply an index of the passed field in its declaring class' list of fields, is implementation-specific.
- 
objectFieldOffsetsArray alias vor #objectFieldOffset(Field).
- 
objectFieldOffsetSimilar toobjectFieldOffset(Field), but with the specific object class.
 The difference is that the actual object's class is not the declaring class of its fields if it only extends another class but does not declare an object field itself.- Parameters:
- objectClass-
- field-
- Returns:
 
- 
objectFieldOffsetsArray alias vor #objectFieldOffset(Class, Field).
- 
objectFieldOffsets
- 
objectFieldOffsets
- 
ensureClassInitialized
- 
ensureClassInitializedUses the passed fields if required by the implementation. If not, this method behaves exactely likeensureClassInitialized(Class).- Parameters:
- c-
- usedFields-
 
- 
instantiateBlank- Throws:
- InstantiationRuntimeException
 
- 
createHeapMemoryStatisticsMemoryStatistics createHeapMemoryStatistics()
- 
createNonHeapMemoryStatisticsMemoryStatistics createNonHeapMemoryStatistics()
- 
isReversingdefault boolean isReversing()
- 
toReversing
 
-