JNI像一個螺絲冒銜接這java語言和c或者c++等其它語言。java
JNI的基本語法c++
JNI的類型數組
一、基本數據類型spa
如下是java的基本數據類型和jni中的基本數據類型的比較,及各種型的字節。接口
二、引用類型io
Java中不一樣的引用類型在JNI當中也有對應的引用類型,如下樹形表示:class
當在C語言中使用時,全部的JNI引用類型都被定義爲jobject類型。typedef jobject jclass;object
jvalue 類型數據類型
jvalue類型是一個基本數據類型和引用類型的集合,定義方式以下:語法
typedef union jvalue { jboolean z; jbyte b; jchar c; jshort s; jint i; jlong j; jfloat f; jdouble d; jobject l; } jvalue;
class的說明
(1).類和接口的描述符在java當中使用」.」,如:java.lang.String
而在JNI當中是用」/」,如:java/lang/String
(2).數組類型的引用類型用」[」表示。如 int[](java中的表示法) ß---à [I([ 大寫的i 是JNI中的表示法,[ 的個數表示數組的維數 二維則是 [[ I )
(3)域的說明,和java比較以下表:
注意:引用類型的域 用L開頭,而且以」;」做爲結尾。數組類型和class說明的同樣。
(4).Method說明
JNI中的方法的聲明規則:先寫參數列表,再寫返回類型,如下是例子。