Phi*_*all 11 java free java-native-interface memory-management nio
我有一个用JNI包装的内存区域NewDirectByteBuffer.我想在清洁工中运行免费/发布代码ByteBuffer.有没有办法做到这一点,还是我必须提供一个自定义的免费方法,用户必须使用ByteBuffer?
编辑
为了澄清,我自己分配了记忆并给NewDirectByteBuffer自己打电话.我想知道如何与清洁工协调清理工作.
你用JNI.newDirectByteBuffer,你可以而且你应该手动释放内存,并同时清理工作。
如果你希望它自动清理,你需要监视对象的生命周期。如果您只想使用 API 并且不使用反射,您可以使用PhantomReferencewith ReferenceQueue,并创建一个恶魔线程来轮询队列。一旦引用进入引用队列,就开始清理工作。
| 归档时间: |
|
| 查看次数: |
638 次 |
| 最近记录: |