什么是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?