一、JNI介绍
JNI(Java Native Interface):一个协议,这个协议用来沟通java代码和外部的本地代码(c/c++), 外部的c/c++代码也可以调用java代码。
1.1 C语言的优势:
①效率上 C/C++是本地语言,比java更高效;
②代码移植,如果之前用C语言开发过模块,可以复用已经存在的c代码;
③java反编译比C语言容易,一般加密算法都是用C语言编写,不容易被反编译;
1.2 Java基本数据类型与C语言基本数据类型的对应:
Java类型 |
JNI类型 |
C/C++类型 |
大小 |
Boolean |
jboolean |
unsigned char |
无符号8位 |
Byte |
jbyte |
(signed) char |
有符号8位 |
Char |
jchar |
unsigned short |
无符号16位 |
Short |
jshort |
short |
有符号16位 |
Integer |
jint/jsize |