相关疑难解决方法(0)

在JNI中,如何根据IBM的性能建议缓存类,methodID和fieldID?

在IBM上读到了这一点

要访问Java对象的字段并调用其方法,本机代码必须调用FindClass(),GetFieldID(),GetMethodId()和GetStaticMethodID().对于GetFieldID(),GetMethodID()和GetStaticMethodID(),为给定类返回的ID在JVM进程的生命周期内不会更改.但是获取字段或方法的调用可能需要在JVM中进行大量工作,因为字段和方法可能已经从超类继承,使得JVM在类层次结构中向上移动以找到它们.因为给定类的ID是相同的,所以您应该查找它们一次,然后重复使用它们.同样,查找类对象可能很昂贵,因此它们也应该被缓存.

一个人如何缓存methodID,fieldID以及class在JNI对象?是否有必须遵循的内置方法或特定程序?

java performance java-native-interface caching

21
推荐指数
2
解决办法
1万
查看次数