一、JNI是什么?
JNI是Java Native Interface的缩写,译为Java本地调用。JNI是一种技术。
二、JNI技术的用途?
- Java程序中的函数调用Native程序中的函数。Native一般指使用C/C++编写的函数。
- Native程序中的函数调用Java程序中的函数。

三、注册JNI函数
- 静态注册
Java层函数通过Java编译成.class文件,再通过Javah工具将将.class生成为JNI层的*.h头文件,在*.h头文件里有对应Java层的函数,在JNI层实现相关函数即可。
javah -o test packagename.classname
- 动态注册
Java Native函数与JNI函数是一一对应的关系,所以,有一个数据结构存储着对应关系,这个数据结构就是JNINativeMethod结构体。
typedef struct {
const char* name;
const char* signature;
void* fnPtr;
} JNINativeMethod;
JNINativeMethod name:Java函数名称,不包括包路径。
JNINativeMethod signature:Java函数签名,用字符串存储,签名信息由参数类型+返回值类型组成。
JNINativeMethod fnPtr&#









![[附源码]计算机毕业设计通用病例管理系统Springboot程序](https://img-blog.csdnimg.cn/8b9f11332f124e7ba56b03464a1a47a7.png)









