Я хотел бы передать адрес Java-объекта, а метод JNI должен заполнить поля передаваемого объекта.
1. Java-код передает заданную ссылку на объект. Метод JNI должен иметь возможность кэшировать этот объект. Это одноразовый звонок.
2. Затем объект java повторно вызывает метод native-работы с различными аргументами, и JNI должен иметь возможность каждый раз заполнять поля кэшируемого объекта. Он не возвращает ничего, кроме void, хотя он заполняет тот же кешированный объект.
3. Java после вызова нативных методов #work использует одну и ту же ссылку на объект (передается во время init) каждый раз и получает обновленные поля ссылочного объекта.
4. Метод works часто вызывается (более одного раза) в секунду.
Обсудите дизайн, риски и т. Д., И любые предложения высоко оценены.
Примечание: Меньше акцента на неиспользовании JNI, там уже много потоков. Чем важнее данный JNI, тем больше риск сбора мусора, какой тип ссылки использовать (глобальный, слабый) и является ли этот проект хорошим / плохим и как его можно улучшить и т. Д.?
Ожидается больше ответов