Class CleanerJava25

java.lang.Object
io.netty.util.internal.CleanerJava25
All Implemented Interfaces:
Cleaner

final class CleanerJava25 extends Object implements Cleaner
Provide a way to clean direct ByteBuffer instances on Java 24+, where we don't have Unsafe available, but we have memory segments.
  • Field Details

  • Constructor Details

    • CleanerJava25

      CleanerJava25()
  • Method Details

    • isSupported

      static boolean isSupported()
    • allocate

      public CleanableDirectBuffer allocate(int capacity)
      Description copied from interface: Cleaner
      Create a direct ByteBuffer and return it alongside its cleaning mechanism, in a CleanableDirectBuffer.
      Specified by:
      allocate in interface Cleaner
      Parameters:
      capacity - The desired capacity of the direct buffer.
      Returns:
      The new CleanableDirectBuffer instance.
    • freeDirectBuffer

      public void freeDirectBuffer(ByteBuffer buffer)
      Description copied from interface: Cleaner
      Free a direct ByteBuffer if possible
      Specified by:
      freeDirectBuffer in interface Cleaner
    • hasExpensiveClean

      public boolean hasExpensiveClean()
      Description copied from interface: Cleaner
      Check if the clean operation is "relatively expensive". Expensive clean operations are fine for pooling allocators, but should be avoided for unpooled buffers.
      Specified by:
      hasExpensiveClean in interface Cleaner
      Returns:
      true if this Cleaner has an expensive clean (i.e. CleanableDirectBuffer.clean()) operation.