m_tokens = Bits.unsafe.allocateMemory(bytes);
m_cleaner = Cleaner.create(this, new Deallocator(m_tokens, bytes));
private static class Deallocator implements Runnable {
private long address;
private int size;
public Deallocator(long address, int size) {
this.address = address;
this.size = size;
}
@Override public void run() {
if (address == 0) {
return;
}
Bits.unsafe.freeMemory(address);
address = 0;
m_allocatedHashinatorBytes.addAndGet( - size);
}
}
来源: http://www.bubuko.com/infodetail-2276606.html