Package com.esotericsoftware.kryo.unsafe
Class UnsafeUtil
- java.lang.Object
-
- com.esotericsoftware.kryo.unsafe.UnsafeUtil
-
public class UnsafeUtil extends java.lang.ObjectUtility methods for usingUnsafe.Not available on all JVMs.
Util.unsafecan be checked before using this class.- Author:
- Roman Levenstein
-
-
Field Summary
Fields Modifier and Type Field Description static longbooleanArrayBaseOffsetstatic longbyteArrayBaseOffsetstatic longcharArrayBaseOffsetstatic longdoubleArrayBaseOffsetstatic longfloatArrayBaseOffsetstatic longintArrayBaseOffsetstatic longlongArrayBaseOffsetstatic longshortArrayBaseOffsetstatic sun.misc.UnsafeunsafeThe sun.misc.Unsafe instance, or null if Unsafe is unavailable.
-
Constructor Summary
Constructors Constructor Description UnsafeUtil()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static voiddispose(java.nio.ByteBuffer buffer)Release a direct buffer immediately rather than waiting for GC.static booleanisNewDirectBufferAvailable()Returns true ifnewDirectBuffer(long, int)can be called.static java.nio.ByteBuffernewDirectBuffer(long address, int size)Create a ByteBuffer that uses the specified off-heap memory address instead of allocating a new one.
-
-
-
Field Detail
-
unsafe
public static final sun.misc.Unsafe unsafe
The sun.misc.Unsafe instance, or null if Unsafe is unavailable.
-
byteArrayBaseOffset
public static final long byteArrayBaseOffset
-
floatArrayBaseOffset
public static final long floatArrayBaseOffset
-
doubleArrayBaseOffset
public static final long doubleArrayBaseOffset
-
intArrayBaseOffset
public static final long intArrayBaseOffset
-
longArrayBaseOffset
public static final long longArrayBaseOffset
-
shortArrayBaseOffset
public static final long shortArrayBaseOffset
-
charArrayBaseOffset
public static final long charArrayBaseOffset
-
booleanArrayBaseOffset
public static final long booleanArrayBaseOffset
-
-
Method Detail
-
newDirectBuffer
public static java.nio.ByteBuffer newDirectBuffer(long address, int size)Create a ByteBuffer that uses the specified off-heap memory address instead of allocating a new one.- Parameters:
address- Address of the memory region to be used for a ByteBuffer.size- Size in bytes of the memory region.- Throws:
java.lang.UnsupportedOperationException- if creating a ByteBuffer this way is not available.
-
isNewDirectBufferAvailable
public static boolean isNewDirectBufferAvailable()
Returns true ifnewDirectBuffer(long, int)can be called.
-
dispose
public static void dispose(java.nio.ByteBuffer buffer)
Release a direct buffer immediately rather than waiting for GC.
-
-