JNI (Java Native Interface)
JNI is used to call functions written in other languages than Java.
1. Use existing libraries which was written in other language.
2. Call Windows API function.
3. Maintains execution speed.
4. Call API function of some server product which is in C or C++ from Java client.
1. Can't say write once run anywhere.
2. Difficult to debug runtime error in native code.
3. Potential security risk.
4. Can't call it from an Applet.