在Java循环中创建JNI对象时,内存在Java进程中不断增长。
示例:
class Nat{
native void hello();
public static void main(String[] args){
while(true){
//creating jni object
Nat nat = new Nat();
// in this loop memory growing
}
}
static{
System.loadLibrary('Hello')
}
}
JNIEXPORT void JNICALL Java_Nat_hello(JNIEnv *, jobject){
//NOTHING CODE.......................
}
答案 0 :(得分:0)
每个循环传递都会创建一个需要内存的新Nat
对象。由于循环始终在运行并且没有中断条件,因此内存增长非常快。