【发布时间】:2019-08-11 20:16:21
【问题描述】:
有办法吗?我知道如果我取消引用它,java 中的垃圾收集器最终会这样做。但是我需要立即清除字节数组内存,因为它是关键内存(密码等)。因此我试图通过 JNI 清除内存。有没有办法做到这一点?
我的java代码:
public void clearBytes(byte[] data) {
clear(data);
}
//private native method clear(byte[] bytes);
private native void clear(byte[] arr);
这是我的 JNI 代码
JNIEXPORT void JNICALL Java_com_java_self_EncryptorUtil_clear(JNIEnv *env, jobject obj, jbyteArray arr)
{
//code to free/delete/clear memory
free(arr);
return;
}
我正在尝试清除“数据”所指向的相同内存 如果你们还需要什么,请告诉我。
谢谢。
【问题讨论】:
-
您在这里发布了或多或少相同的问题,但代码不同:stackoverflow.com/questions/55252691/…
-
是的,我做到了。在我添加(或者因为我没有添加)相关代码之前,它被否决了,我希望尽快得到答案。感谢您的澄清。这有帮助。 :)
标签: java java-native-interface