我想在 C 中分配一些内存并将其与 java 对象实例关联,如下所示:
void configure(JNIEnv *object, jobject obj, ....) {
char *buf = new char[1024];
// associated <buf> with <obj> somehow
}
然后在 java 对象被垃圾回收时释放内存——我可以通过从 java 对象的finalize()方法调用 JNI 函数来做到这一点。
问题是,如何将 C 指针与 java 对象相关联?在对象中保留一个long字段并将指针转换为long?有没有更好的办法?