я прочитал в на IBM, что
Для доступа к полям объектов Java и вызова их методов, собственный код должны выполнять вызовы FindClass(), GetFieldID(), GetMethodId() и ПолучитьIDСтатическогоМетода(). В случае GetFieldID(), GetMethodID() и GetStaticMethodID(), идентификаторы, возвращаемые для данного класса, не изменяются. на время жизни процесса JVM. Но призыв получить поле или метод может потребовать значительной работы в JVM, поскольку поля и методы могли быть унаследованы от суперклассов, что делает JVM Поднимитесь по иерархии классов, чтобы найти их. Потому что идентификаторы одинаковы для данного класса вы должны просмотреть их один раз, а затем повторно использовать. Точно так же поиск объектов класса может быть дорогостоящим, поэтому их следует также кэшироваться.
Как кэшироватьобъекты methodID
, fieldID
и class
в JNI?
Существуют ли встроенные методы или специальная процедура, которой необходимо следовать?