java 不等式_JNI - 无解的不等式 - 博客园

Java侧使用Native方法:

1.加载对应的JNI库

2.声明由native修饰的函数

java 函数找到jni函数的方法

1.静态注册:先通过函数名,找到后,保存函数指针

2.动态注册,registerNativeMethods()(在JNI_ONLoad中动态注册)

JNI层调用Java方法:

通过JNIEnv调用callVoidMethoid方法

JNIEvn

虚拟机在JNI的代表,每个进程只有一个JNIEvn;与线程相关,线程间不能共享JNIEvn

作用:调用Java函数,操作Java对象

通过javaVM的attash... 和ditash...分别获取和释放JNIEnv结构体

jfieldID,jmethodID分别取出java类的成员变量和方法

垃圾回收

(**将Java对象的指针赋值给jNI层,该指针的引用计数不会增加)

JNI提供的三中类型引用:

全局引用(不会被释放,需要主动释放),本地引用(JNI层函数返回,对象销毁(注意点:最好立即释放)),弱全局引用(使用之前调用)

JNI中的异常处理

发生异常后不会中断函数执行。

提供三种方法处理异常:ExceptionOccured(判断是否有异常发生),ExceptionClear用来清除异常,ThrowNew(向java层抛出异常)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值