Package com.esotericsoftware.kryo.unsafe
Class UnsafeUtil
- java.lang.Object
-
- com.esotericsoftware.kryo.unsafe.UnsafeUtil
-
public class UnsafeUtil extends java.lang.Object
Utility methods for usingUnsafe
.Not available on all JVMs.
Util.unsafe
can be checked before using this class.- Author:
- Roman Levenstein
-
-
Field Summary
Fields Modifier and Type Field Description static long
booleanArrayBaseOffset
static long
byteArrayBaseOffset
static long
charArrayBaseOffset
static long
doubleArrayBaseOffset
static long
floatArrayBaseOffset
static long
intArrayBaseOffset
static long
longArrayBaseOffset
static long
shortArrayBaseOffset
static sun.misc.Unsafe
unsafe
The 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 void
dispose(java.nio.ByteBuffer buffer)
Release a direct buffer immediately rather than waiting for GC.static boolean
isNewDirectBufferAvailable()
Returns true ifnewDirectBuffer(long, int)
can be called.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.
-
-
-
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.
-
-