JNI注册 静态注册和动态注册
动态注册的实现
```c
JNIEXPORT jint JNICALL
JNI_Onload(JavaVM *vm , void *reserved){}
```
System.load()和System.loadLibrary()区别
System.load()必须是全路径 绝对路径
System.loadLibrary() 参数为文件名
JNIEnv 代表Java环境 通过JNIEnv*指针 对Java端代码操作
jobject (1)native方法不是static jobject代表native类的示例 (2)native是static jobject代表类的class对象示例
C/C++中调用java代码
GetFieldID / GetMethodID
GetStaticFeildID / GetStaticMethodID
签名 javap -s -p xxx.class
JNI访问静态变量和非静态变量 JNI访问java内的函数(静态和非静态)
JNI引用
- 局部引用 local refrence 释放 DeleteLocalRef
- 全局引用 Global Refrence 释放 DeleteGlobalRef
- 弱全局引用 Weak Global Refrence 释放 DeleteWeakGlobalRef