sun.misc.Unsafe由于分配的本机内存的基址是
java.nio.DirectByteBuffer构造函数的局部变量,因此使用几乎是不可能的。
实际上,您可以使用以下代码强制释放本机内存:
import sun.misc.Cleaner;import java.lang.reflect.Field;import java.nio.ByteBuffer;...public static void main(String[] args) throws Exception { ByteBuffer direct = ByteBuffer.allocateDirect(1024); Field cleanerField = direct.getClass().getDeclaredField("cleaner"); cleanerField.setAccessible(true); Cleaner cleaner = (Cleaner) cleanerField.get(direct); cleaner.clean();}


