JNI编程简介:
JNI,Java Native Interface,是 native code 的编程接口。JNI 使 Java 代码程序可以与 native code 交互——在 Java 程序中调用 native code;在 native code 中嵌入 Java 虚拟机调用 Java 的代码。
JNI 编程在软件开发中运用广泛,其优势可以归结为以下几点:
- 利用 native code 的平台相关性,在平台相关的编程中彰显优势。
- 对 native code 的代码重用。
- native code 底层操作,更加高效。
然而任何事物都具有两面性,JNI 编程也同样如此。程序员在使用 JNI 时应当认识到 JNI 编程中如下的几点弊端,扬长避短,才可以写出更加完善、高性能的代码:
- 从 Java 环境到 native code 的上下文切换耗时、低效。
- JNI 编程,如果操作不当,可能引起 Java 虚拟机的崩溃。
- JNI 编程,如果操作不当,可能引起内存泄漏。
学习资料整理 :
《在 JNI 编程中避免内存泄漏》、 JVM 进程的内存空间布局、 JNI 开发教程、 JNI 编程向导和规范