Package one.microstream.memory.sun
Class JdkInternals
java.lang.Object
one.microstream.memory.sun.JdkInternals
public final class JdkInternals extends Object
- 
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceJdkInternals.Warning - 
Constructor Summary
Constructors Constructor Description JdkInternals() - 
Method Summary
Modifier and Type Method Description static longalignAddress(long address)static longallocateMemory(long bytes)static byte[]asByteArray(long value)static byte[]asByteArray(long[] longArray)static longbyteSizeArray_boolean(long elementCount)static longbyteSizeArray_byte(long elementCount)static longbyteSizeArray_char(long elementCount)static longbyteSizeArray_double(long elementCount)static longbyteSizeArray_float(long elementCount)static longbyteSizeArray_int(long elementCount)static longbyteSizeArray_long(long elementCount)static longbyteSizeArray_short(long elementCount)static longbyteSizeArrayObject(long elementCount)static intbyteSizeFieldValue(Class<?> type)static intbyteSizeInstance(Class<?> type)static intbyteSizeObjectHeader()static intbyteSizeReference()static booleancompareAndSwap_int(Object subject, long offset, int expected, int replacement)static booleancompareAndSwap_long(Object subject, long offset, long expected, long replacement)static booleancompareAndSwapObject(Object subject, long offset, Object expected, Object replacement)static voidcopyArrayToAddress(boolean[] array, long targetAddress)static voidcopyArrayToAddress(byte[] array, long targetAddress)static voidcopyArrayToAddress(char[] array, long targetAddress)static voidcopyArrayToAddress(double[] array, long targetAddress)static voidcopyArrayToAddress(float[] array, long targetAddress)static voidcopyArrayToAddress(int[] array, long targetAddress)static voidcopyArrayToAddress(long[] array, long targetAddress)static voidcopyArrayToAddress(short[] array, long targetAddress)static voidcopyRange(long sourceAddress, long targetAddress, long length)static voidcopyRange(Object source, long sourceOffset, Object target, long targetOffset, long length)static voidcopyRangeToArray(long sourceAddress, boolean[] target)static voidcopyRangeToArray(long sourceAddress, byte[] target)static voidcopyRangeToArray(long sourceAddress, char[] target)static voidcopyRangeToArray(long sourceAddress, double[] target)static voidcopyRangeToArray(long sourceAddress, float[] target)static voidcopyRangeToArray(long sourceAddress, int[] target)static voidcopyRangeToArray(long sourceAddress, long[] target)static voidcopyRangeToArray(long sourceAddress, short[] target)static booleandeallocateDirectBuffer(ByteBuffer directBuffer)static DirectBufferDeallocatorDirectBufferDeallocator()static voidensureClassInitialized(Class<?> c)static voidensureClassInitialized(Class<?>... classes)static voidfillMemory(long address, long length, byte value)static voidfreeMemory(long address)static booleanget_boolean(long address)static booleanget_boolean(Object instance, long offset)static byteget_byte(long address)static byteget_byte(Object instance, long offset)static charget_char(long address)static charget_char(Object instance, long offset)static doubleget_double(long address)static doubleget_double(Object instance, long offset)static floatget_float(long address)static floatget_float(Object instance, long offset)static intget_int(long address)static intget_int(Object instance, long offset)static longget_long(long address)static longget_long(Object instance, long offset)static shortget_short(long address)static shortget_short(Object instance, long offset)static DirectBufferAddressGettergetDirectBufferAddressGetter()static DirectBufferDeallocatorgetDirectBufferDeallocator()static longgetDirectByteBufferAddress(ByteBuffer directBuffer)static sun.misc.UnsafegetMemoryAccess()static ObjectgetObject(Object instance, long offset)static ObjectgetStaticFieldBase(Field field)static long[]getStaticFieldOffsets(Field[] fields)static voidguaranteeUsability()Guarantees the full usability of this class by validating if all functionality is usable.static List<JdkInternals.Warning>initializationWarnings()static <T> TinstantiateBlank(Class<T> c)static DefaultInstantiatorInstantiatorBlank()static booleaninternalDeallocateDirectBuffer(ByteBuffer directBuffer)static longinternalGetDirectByteBufferAddress(ByteBuffer directBuffer)static longobjectFieldOffset(Field field)Return the field value's arithmetic memory offset relative to the object base offset.static long[]objectFieldOffsets(Field... fields)Array alias vor #objectFieldOffset(Field).static intpageSize()static voidprintInitializationWarnings(PrintStream printStream)static longreallocateMemory(long address, long bytes)static voidset_boolean(long address, boolean value)static voidset_boolean(Object instance, long offset, boolean value)static voidset_booleanInBytes(byte[] bytes, int index, boolean value)static voidset_byte(long address, byte value)static voidset_byte(Object instance, long offset, byte value)static voidset_byteInBytes(byte[] bytes, int index, byte value)static voidset_char(long address, char value)static voidset_char(Object instance, long offset, char value)static voidset_charInBytes(byte[] bytes, int index, char value)static voidset_double(long address, double value)static voidset_double(Object instance, long offset, double value)static voidset_doubleInBytes(byte[] bytes, int index, double value)static voidset_float(long address, float value)static voidset_float(Object instance, long offset, float value)static voidset_floatInBytes(byte[] bytes, int index, float value)static voidset_int(long address, int value)static voidset_int(Object instance, long offset, int value)static voidset_intInBytes(byte[] bytes, int index, int value)static voidset_long(long address, long value)static voidset_long(Object instance, long offset, long value)static voidset_longInBytes(byte[] bytes, int index, long value)static voidset_short(long address, short value)static voidset_short(Object instance, long offset, short value)static voidset_shortInBytes(byte[] bytes, int index, short value)static voidsetDirectBufferAddressGetter(DirectBufferAddressGetter addressGetter)Allows to set theDirectBufferAddressGetterused bygetDirectByteBufferAddress(ByteBuffer)as an override to the means this class inherently tries to provide.
SeeDirectBufferAddressGetterfor details.static voidsetDirectBufferDeallocator(DirectBufferDeallocator deallocator)Allows to set theDirectBufferDeallocatorused bydeallocateDirectBuffer(ByteBuffer)as an override to the means this class inherently tries to provide.
SeeDirectBufferDeallocatorfor details.static voidsetObject(Object instance, long offset, Object value)static voidthrowUnchecked(Throwable t) 
- 
Constructor Details
- 
JdkInternals
public JdkInternals() 
 - 
 - 
Method Details
- 
getMemoryAccess
public static final sun.misc.Unsafe getMemoryAccess() - 
guaranteeUsability
public static void guaranteeUsability()Guarantees the full usability of this class by validating if all functionality is usable.- Throws:
 Error
 - 
initializationWarnings
 - 
printInitializationWarnings
 - 
setDirectBufferDeallocator
Allows to set theDirectBufferDeallocatorused bydeallocateDirectBuffer(ByteBuffer)as an override to the means this class inherently tries to provide.
SeeDirectBufferDeallocatorfor details.The passed instance "should" be immutable or better stateless to ensure concurrency-safe usage, but ultimately, the responsibility resides with the author of the instance's implementation.
Passing a null resets the behavior of
deallocateDirectBuffer(ByteBuffer)to the inherent logic.- Parameters:
 deallocator- the deallocator to be used, potentially null.- See Also:
 DirectBufferDeallocator
 - 
getDirectBufferDeallocator
 - 
setDirectBufferAddressGetter
Allows to set theDirectBufferAddressGetterused bygetDirectByteBufferAddress(ByteBuffer)as an override to the means this class inherently tries to provide.
SeeDirectBufferAddressGetterfor details.The passed instance "should" be immutable or better stateless to ensure concurrency-safe usage, but ultimately, the responsibility resides with the author of the instance's implementation.
Passing a null resets the behavior of
getDirectByteBufferAddress(ByteBuffer)to the inherent logic.- Parameters:
 addressGetter- the addressGetter to be used, potentially null.- See Also:
 DirectBufferDeallocator
 - 
getDirectBufferAddressGetter
 - 
internalGetDirectByteBufferAddress
 - 
getDirectByteBufferAddress
 - 
internalDeallocateDirectBuffer
 - 
deallocateDirectBuffer
 - 
allocateMemory
public static final long allocateMemory(long bytes) - 
reallocateMemory
public static final long reallocateMemory(long address, long bytes) - 
freeMemory
public static final void freeMemory(long address) - 
fillMemory
public static final void fillMemory(long address, long length, byte value) - 
get_byte
public static final byte get_byte(long address) - 
get_boolean
public static final boolean get_boolean(long address) - 
get_short
public static final short get_short(long address) - 
get_char
public static final char get_char(long address) - 
get_int
public static final int get_int(long address) - 
get_float
public static final float get_float(long address) - 
get_long
public static final long get_long(long address) - 
get_double
public static final double get_double(long address) - 
get_byte
 - 
get_boolean
 - 
get_short
 - 
get_char
 - 
get_int
 - 
get_float
 - 
get_long
 - 
get_double
 - 
getObject
 - 
set_byte
public static void set_byte(long address, byte value) - 
set_boolean
public static void set_boolean(long address, boolean value) - 
set_short
public static void set_short(long address, short value) - 
set_char
public static void set_char(long address, char value) - 
set_int
public static void set_int(long address, int value) - 
set_float
public static void set_float(long address, float value) - 
set_long
public static void set_long(long address, long value) - 
set_double
public static 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
public static final void set_byteInBytes(byte[] bytes, int index, byte value) - 
set_booleanInBytes
public static final void set_booleanInBytes(byte[] bytes, int index, boolean value) - 
set_shortInBytes
public static final void set_shortInBytes(byte[] bytes, int index, short value) - 
set_charInBytes
public static final void set_charInBytes(byte[] bytes, int index, char value) - 
set_intInBytes
public static final void set_intInBytes(byte[] bytes, int index, int value) - 
set_floatInBytes
public static final void set_floatInBytes(byte[] bytes, int index, float value) - 
set_longInBytes
public static final void set_longInBytes(byte[] bytes, int index, long value) - 
set_doubleInBytes
public static final void set_doubleInBytes(byte[] bytes, int index, double value) - 
copyRange
public static final void copyRange(long sourceAddress, long targetAddress, long length) - 
copyRange
 - 
copyRangeToArray
public static final void copyRangeToArray(long sourceAddress, byte[] target) - 
copyRangeToArray
public static final void copyRangeToArray(long sourceAddress, boolean[] target) - 
copyRangeToArray
public static final void copyRangeToArray(long sourceAddress, short[] target) - 
copyRangeToArray
public static final void copyRangeToArray(long sourceAddress, char[] target) - 
copyRangeToArray
public static final void copyRangeToArray(long sourceAddress, int[] target) - 
copyRangeToArray
public static final void copyRangeToArray(long sourceAddress, float[] target) - 
copyRangeToArray
public static final void copyRangeToArray(long sourceAddress, long[] target) - 
copyRangeToArray
public static final void copyRangeToArray(long sourceAddress, double[] target) - 
copyArrayToAddress
public static final void copyArrayToAddress(byte[] array, long targetAddress) - 
copyArrayToAddress
public static final void copyArrayToAddress(boolean[] array, long targetAddress) - 
copyArrayToAddress
public static final void copyArrayToAddress(short[] array, long targetAddress) - 
copyArrayToAddress
public static final void copyArrayToAddress(char[] array, long targetAddress) - 
copyArrayToAddress
public static final void copyArrayToAddress(int[] array, long targetAddress) - 
copyArrayToAddress
public static final void copyArrayToAddress(float[] array, long targetAddress) - 
copyArrayToAddress
public static final void copyArrayToAddress(long[] array, long targetAddress) - 
copyArrayToAddress
public static final void copyArrayToAddress(double[] array, long targetAddress) - 
asByteArray
public static final byte[] asByteArray(long[] longArray) - 
asByteArray
public static final byte[] asByteArray(long value) - 
objectFieldOffset
Return the field value's arithmetic memory offset relative to the object base offset.- Parameters:
 field-- Returns:
 - the field value's memory offset.
 
 - 
objectFieldOffsets
Array alias vor #objectFieldOffset(Field). - 
ensureClassInitialized
 - 
ensureClassInitialized
 - 
instantiateBlank
- Throws:
 InstantiationRuntimeException
 - 
InstantiatorBlank
 - 
DirectBufferDeallocator
 - 
pageSize
public static int pageSize() - 
byteSizeReference
public static final int byteSizeReference() - 
byteSizeInstance
 - 
byteSizeObjectHeader
public static final int byteSizeObjectHeader() - 
byteSizeFieldValue
 - 
byteSizeArray_byte
public static final long byteSizeArray_byte(long elementCount) - 
byteSizeArray_boolean
public static final long byteSizeArray_boolean(long elementCount) - 
byteSizeArray_short
public static final long byteSizeArray_short(long elementCount) - 
byteSizeArray_char
public static final long byteSizeArray_char(long elementCount) - 
byteSizeArray_int
public static final long byteSizeArray_int(long elementCount) - 
byteSizeArray_float
public static final long byteSizeArray_float(long elementCount) - 
byteSizeArray_long
public static final long byteSizeArray_long(long elementCount) - 
byteSizeArray_double
public static final long byteSizeArray_double(long elementCount) - 
byteSizeArrayObject
public static final long byteSizeArrayObject(long elementCount) - 
throwUnchecked
 - 
compareAndSwap_int
public static final boolean compareAndSwap_int(Object subject, long offset, int expected, int replacement) - 
compareAndSwap_long
public static final boolean compareAndSwap_long(Object subject, long offset, long expected, long replacement) - 
compareAndSwapObject
 - 
alignAddress
public static final long alignAddress(long address) - 
getStaticFieldBase
 - 
getStaticFieldOffsets
 
 -