class DirectBufferAccess
extends java.lang.Object
| Modifier and Type | Class and Description |
|---|---|
(package private) static class |
DirectBufferAccess.DirectBufferConstructorType |
| Modifier and Type | Field and Description |
|---|---|
(package private) static java.lang.reflect.Constructor<?> |
byteBufferConstructor |
(package private) static DirectBufferAccess.DirectBufferConstructorType |
directBufferConstructorType |
(package private) static java.lang.Class<?> |
directByteBufferClass |
(package private) static java.lang.reflect.Method |
mClean |
(package private) static java.lang.reflect.Method |
mCleaner |
(package private) static java.lang.reflect.Method |
memoryBlockWrapFromJni |
(package private) static java.lang.reflect.Method |
mInvokeCleaner |
| Modifier | Constructor and Description |
|---|---|
private |
DirectBufferAccess() |
| Modifier and Type | Method and Description |
|---|---|
(package private) static void |
clean(java.lang.Object base) |
(package private) static long |
getAddress(java.nio.Buffer buffer) |
private static java.lang.Object |
getCleanerMethod(java.nio.ByteBuffer direct)
Checks if we have a usable
DirectByteBuffer#cleaner. |
private static java.lang.Object |
getCleanMethod(java.nio.ByteBuffer direct,
java.lang.reflect.Method mCleaner)
Checks if we have a usable
Cleaner.clean(). |
private static java.lang.Object |
getInvokeCleanerMethod(java.nio.ByteBuffer direct)
Checks if we have a usable
Unsafe#invokeCleaner. |
(package private) static boolean |
isDirectByteBufferInstance(java.lang.Object s) |
(package private) static java.nio.ByteBuffer |
newByteBuffer(long address,
int index,
int length,
java.nio.ByteBuffer reference) |
private static void |
setupCleanerJava6(java.nio.ByteBuffer direct) |
private static void |
setupCleanerJava9(java.nio.ByteBuffer direct) |
static java.lang.reflect.Method mCleaner
static java.lang.reflect.Method mClean
static java.lang.reflect.Method mInvokeCleaner
static java.lang.reflect.Constructor<?> byteBufferConstructor
static java.lang.Class<?> directByteBufferClass
static DirectBufferAccess.DirectBufferConstructorType directBufferConstructorType
static java.lang.reflect.Method memoryBlockWrapFromJni
private static void setupCleanerJava6(java.nio.ByteBuffer direct)
private static void setupCleanerJava9(java.nio.ByteBuffer direct)
private static java.lang.Object getCleanerMethod(java.nio.ByteBuffer direct)
DirectByteBuffer#cleaner.direct - a direct bufferprivate static java.lang.Object getCleanMethod(java.nio.ByteBuffer direct,
java.lang.reflect.Method mCleaner)
Cleaner.clean().direct - a direct buffermCleaner - the DirectByteBuffer#cleaner methodprivate static java.lang.Object getInvokeCleanerMethod(java.nio.ByteBuffer direct)
Unsafe#invokeCleaner.direct - a direct bufferstatic long getAddress(java.nio.Buffer buffer)
static void clean(java.lang.Object base)
static boolean isDirectByteBufferInstance(java.lang.Object s)
static java.nio.ByteBuffer newByteBuffer(long address,
int index,
int length,
java.nio.ByteBuffer reference)