Проблемы и недостатки
JNI
Потеря переносимости
Native-код может быть небезопасен
Отсутствует сборка мусора внутри native-кода
Native-код не является равноправным по отношению к Java-коду, играя подчиненную роль
Отсутствует единое представление типов для Java- объектов и их использования в native-методах. JNI обеспечивает, в ограниченном виде, лишь обработку Java-типов с помощью API (сравните с
.NET CTS & CLR)
Native-код не разрешается использовать для мобильных устройств (JME / CLDC)
(С)Сафонов В.О. 2013
Литература
Java Native Interface Specification
http://java.sun.com/j2se/1.5.0/docs/guide/jni/spec/jniTOC.html
Перевод книги Sheng Liang,The JavaTM Native Interface: Programmer's Guide and Specification
http://www.javable.com/tutorials/tjt/native1.1/index.html