Package one.microstream.memory
Interface MemoryAccessor
- All Known Implementing Classes:
JdkMemoryAccessor,MemoryAccessorGeneric,MemoryAccessorReversing
public interface MemoryAccessor
-
Method Summary
Modifier 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
-
guaranteeUsability
void guaranteeUsability()Guarantees the full usability of this class by validating if all functionality is usable.- Throws:
Error
-
getDirectByteBufferAddress
-
deallocateDirectByteBuffer
-
isDirectByteBuffer
-
guaranteeDirectByteBuffer
-
allocateMemory
long allocateMemory(long bytes) -
reallocateMemory
long reallocateMemory(long address, long bytes) -
freeMemory
void freeMemory(long address) -
fillMemory
void fillMemory(long targetAddress, long length, byte value) -
get_byte
byte get_byte(long address) -
get_boolean
boolean get_boolean(long address) -
get_short
short get_short(long address) -
get_char
char get_char(long address) -
get_int
int get_int(long address) -
get_float
float get_float(long address) -
get_long
long get_long(long address) -
get_double
double get_double(long address) -
get_byte
-
get_boolean
-
get_short
-
get_char
-
get_int
-
get_float
-
get_long
-
get_double
-
getObject
-
set_byte
void set_byte(long address, byte value) -
set_boolean
void set_boolean(long address, boolean value) -
set_short
void set_short(long address, short value) -
set_char
void set_char(long address, char value) -
set_int
void set_int(long address, int value) -
set_float
void set_float(long address, float value) -
set_long
void set_long(long address, long value) -
set_double
void set_double(long address, double value) -
set_byte
-
set_boolean
-
set_short
-
set_char
-
set_int
-
set_float
-
set_long
-
set_double
-
setObject
-
set_byteInBytes
void set_byteInBytes(byte[] bytes, int index, byte value) -
set_booleanInBytes
void set_booleanInBytes(byte[] bytes, int index, boolean value) -
set_shortInBytes
void set_shortInBytes(byte[] bytes, int index, short value) -
set_charInBytes
void set_charInBytes(byte[] bytes, int index, char value) -
set_intInBytes
void set_intInBytes(byte[] bytes, int index, int value) -
set_floatInBytes
void set_floatInBytes(byte[] bytes, int index, float value) -
set_longInBytes
void set_longInBytes(byte[] bytes, int index, long value) -
set_doubleInBytes
void set_doubleInBytes(byte[] bytes, int index, double value) -
copyRange
void copyRange(long sourceAddress, long targetAddress, long length) -
copyRangeToArray
void copyRangeToArray(long sourceAddress, byte[] target) -
copyRangeToArray
void copyRangeToArray(long sourceAddress, boolean[] target) -
copyRangeToArray
void copyRangeToArray(long sourceAddress, short[] target) -
copyRangeToArray
void copyRangeToArray(long sourceAddress, char[] target) -
copyRangeToArray
void copyRangeToArray(long sourceAddress, int[] target) -
copyRangeToArray
void copyRangeToArray(long sourceAddress, float[] target) -
copyRangeToArray
void copyRangeToArray(long sourceAddress, long[] target) -
copyRangeToArray
void copyRangeToArray(long sourceAddress, double[] target) -
copyArrayToAddress
void copyArrayToAddress(byte[] array, long targetAddress) -
copyArrayToAddress
void copyArrayToAddress(boolean[] array, long targetAddress) -
copyArrayToAddress
void copyArrayToAddress(short[] array, long targetAddress) -
copyArrayToAddress
void copyArrayToAddress(char[] array, long targetAddress) -
copyArrayToAddress
void copyArrayToAddress(int[] array, long targetAddress) -
copyArrayToAddress
void copyArrayToAddress(float[] array, long targetAddress) -
copyArrayToAddress
void copyArrayToAddress(long[] array, long targetAddress) -
copyArrayToAddress
void copyArrayToAddress(double[] array, long targetAddress) -
asByteArray
default byte[] asByteArray(long[] values) -
asByteArray
default byte[] asByteArray(long value) -
objectFieldOffset
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). 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. -
objectFieldOffsets
Array alias vor #objectFieldOffset(Field). -
objectFieldOffset
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.- Parameters:
objectClass-field-
-
objectFieldOffsets
Array alias vor #objectFieldOffset(Class, Field). -
objectFieldOffsets
-
objectFieldOffsets
-
ensureClassInitialized
-
ensureClassInitialized
Uses the passed fields if required by the implementation. If not, this method behaves exactely likeensureClassInitialized(Class).- Parameters:
c-usedFields-
-
instantiateBlank
- Throws:
InstantiationRuntimeException
-
createHeapMemoryStatistics
MemoryStatistics createHeapMemoryStatistics() -
createNonHeapMemoryStatistics
MemoryStatistics createNonHeapMemoryStatistics() -
isReversing
default boolean isReversing() -
toReversing
-