I can not get these two disadvantages of using JNI. I want to know more about them:
Difficult to debug runtime error in native code
Errors i
While this shouldn't be the case in theory, in practice, JNI based code I found to be very brittle -- I've found it to be a maintenance nightmare. Small changes or even just JVM upgrades cause obscure problems. This may have improved with more recent Java versions (I'm harking back to JDK 1.3 or earlier here).