Step 1: Organizing JNI vs. Java Functionality
First, decide what code belongs with native methods,
and what is better left to Java. Consider:
1) JNI means loss of visibility modifiers
(even private members can be discovered!)
2) JNI means manual garbage collection--
3) JNI can imply a loss of OO control, unless
native implementation is in C++, or a very
OO-oriented set of C libraries.