什么是JNI?为什么用JNI?怎么用JNI?

一、什么是JNI?

JNI(Java Native Interface)是一个协议

这个协议用来沟通java代码和外部的本地代码(c/c++),

通过这个协议,java代码就可以调用外部的的c/c++代码

外部的c/c++代码也可以调用java代码

二、为什么用JNI?

1、JNI扩展了java虚拟机的能力,有些时候由于需求需要去直接操作硬件,只有c/c++才可以直接操作硬件,如驱动开发(wifi-hotspot),那么java通过JNI调用c代码来开发;

2、Native code效率高,数学运算、实时渲染的游戏,音频处理上(极品飞车,openfl[图型2D、3D渲染库],ffmpeg[开源的视屏音频编解码工具]);

3、复用代码(文件压缩[很好的算法],人脸识别[opencv—由英特尔开发,用这个库能解析流媒体、实时处理图片]...);

4、特殊的业务场景(高档车安装具有检测故障信息车载电脑odb-online debug system,由C语言来抽取出来,然后显示到android上)。

怎么用JNI?

posted @ 2013-03-01 13:21  园叶  阅读(1068)  评论(0编辑  收藏  举报