final class ByteBufferCleaner extends Object
ByteBuffer. Without manual intervention, direct ByteBuffers will be cleaned eventually upon
garbage collection. However, this should not be relied upon since it may not occur in a timely fashion -
especially since off heap ByeBuffers don't put pressure on the garbage collector.
Warning: Do not attempt to use a direct ByteBuffer that has been cleaned or bad things will happen.
Don't use this class unless you can ensure that the cleaned buffer will not be accessed anymore.
See JDK-4724038
| Constructor and Description |
|---|
ByteBufferCleaner() |
| Modifier and Type | Method and Description |
|---|---|
(package private) static void |
clean(ByteBuffer buffer)
Releases memory held by the given
ByteBuffer. |
(package private) static boolean |
isSupported()
Tests if were able to load a suitable cleaner for the current JVM.
|
static void clean(ByteBuffer buffer)
ByteBuffer.buffer - to release.IllegalStateException - on internal failure.static boolean isSupported()
ByteBufferCleaner#clean(ByteBuffer) when this method returns false will result in an exception.true if cleaning is supported, false otherwise.