java native interface (JNI) 容许java 应用程序调用本地方法java
- 本地方法即:本地程序设计语言编写的特殊方法(好比C 或C++ 代码),并返回到java设计语言
本地方法主要提供三种用途:安全
- 访问“特定于平台的能力”的机制,好比 注册表、文件锁
- 访问遗留代码库的能力,能够访问遗留数据
- 能够经过本地语言编写注重性能的代码,提高系统性能
使用本地方法提高性能的作法不值得提倡jvm
- 1.3版本之前是能够的,随着jvm 速度愈来愈快,这么作其实并非很划算
使用本地方法有一些严重缺陷性能
- 本地语言不是安全的,本地方法不能免受内存损坏错误的影响
- 本地方法是平台相关的,不方便移植
- 更难调试
- 进入退出本地方法须要相关的固定开销(本地代码作少许工做,性能会下降)
- 胶合本地代码的程序单调乏味,难以理解
尽量少使用本地方法,注意全面测试,本地方法的bug 可能破坏整个系统测试