Package io.netty.util.internal
Class CleanerJava25
- java.lang.Object
-
- io.netty.util.internal.CleanerJava25
-
- All Implemented Interfaces:
Cleaner
final class CleanerJava25 extends java.lang.Object implements Cleaner
Provide a way to clean directByteBufferinstances on Java 24+, where we don't haveUnsafeavailable, but we have memory segments.The FFM API is compiled against the
netty-ffm-stubmodule, and only used from the nestedCleanerJava25.Arenasclass, which is only loaded on Java versions that have the FFM API.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classCleanerJava25.Arenasprivate static classCleanerJava25.CleanableDirectBufferImpl
-
Field Summary
Fields Modifier and Type Field Description private static InternalLoggerloggerprivate static booleanSUPPORTED
-
Constructor Summary
Constructors Constructor Description CleanerJava25()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description CleanableDirectBufferallocate(int capacity)Create a directByteBufferand return it alongside its cleaning mechanism, in aCleanableDirectBuffer.voidfreeDirectBuffer(java.nio.ByteBuffer buffer)Free a directByteBufferif possiblebooleanhasExpensiveClean()Check if the clean operation is "relatively expensive".(package private) static booleanisSupported()-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface io.netty.util.internal.Cleaner
reallocate
-
-
-
-
Field Detail
-
logger
private static final InternalLogger logger
-
SUPPORTED
private static final boolean SUPPORTED
-
-
Method Detail
-
isSupported
static boolean isSupported()
-
allocate
public CleanableDirectBuffer allocate(int capacity)
Description copied from interface:CleanerCreate a directByteBufferand return it alongside its cleaning mechanism, in aCleanableDirectBuffer.- Specified by:
allocatein interfaceCleaner- Parameters:
capacity- The desired capacity of the direct buffer.- Returns:
- The new
CleanableDirectBufferinstance.
-
freeDirectBuffer
public void freeDirectBuffer(java.nio.ByteBuffer buffer)
Description copied from interface:CleanerFree a directByteBufferif possible- Specified by:
freeDirectBufferin interfaceCleaner
-
hasExpensiveClean
public boolean hasExpensiveClean()
Description copied from interface:CleanerCheck if the clean operation is "relatively expensive". Expensive clean operations are fine for pooling allocators, but should be avoided for unpooled buffers.- Specified by:
hasExpensiveCleanin interfaceCleaner- Returns:
trueif this Cleaner has an expensive clean (i.e.CleanableDirectBuffer.clean()) operation.
-
-