我有一个用JNINewDirectByteBuffer包裹的内存区域。我想在ByteBuffer的清理器中运行免费/发布代码。有没有办法做到这一点,或者我是否必须提供用户必须使用ByteBuffer调用的自定义免费方法?编辑澄清一下,我自己分配了内存并自己调用了NewDirectByteBuffer。我想知道我应该如何与清洁工协调清理工作。 最佳答案 您使用JNI.newDirectByteBuffer,您可以而且应该手动释放内存,同时清理工作。如果你想让它自动清理,你需要的是监控对象的生命周期。如果您只想使用API而不想使用反射,