Android的JNI
编程之路从0到1
这个作者很懒,什么都没留下…
展开
-
Java 之JNI基础篇(一)
JNI,即Java Native Interface。它其实就是一套java与本地代码交互的接口或者说是一个协议。通俗的比喻,就是中国人讲中国话,日本人讲日本话,于是中国人碰到日本人,各说各话,无法交流。如果这个时候,中国人学会了英语,日本人也学会了英语,那么中国人日本人就可以用英语交流了,这就是要学习JNI的原因!Java语言无法直接调用C/C++代码,反之亦然,于是就有了JNI,帮助两者相互调原创 2018-01-13 18:51:13 · 13732 阅读 · 1 评论 -
Java 之JNI基础篇(二)
上一篇完成了JNI流程的编写,现在来看看javah命令生成的本地方法#include #include #include "Hello.h"JNIEXPORT void JNICALL Java_com_test_JniUtil_sayHello(JNIEnv *env, jobject jobj){ printf("Hello Word!\n");}可以看到,在C原创 2018-01-21 14:11:30 · 14309 阅读 · 1 评论 -
Java 之JNI基础篇(三)
从源码开始上一篇博客讲了Java代码如何调用本地C代码,这一篇则主要讲C代码如何访问Java的变量和方法,那么我们继续从JDK源码入手,从源码中学习,学会JNI真正的使用方式和使用场景,而不是想当然的写几个简单的demo,那样是没有意义的,知道API和会用API并不是一回事,源码的JNI使用方式是高效的经得起考验的,如果我们仅仅只是看了几个demo,查了一下文档就去写JNI,那样很可能就是在给原创 2018-02-04 22:13:12 · 898 阅读 · 0 评论 -
Java 之JNI进阶篇(四)
文章目录JNI 本地对象的引用类型局部引用全局引用普通全局引用弱全局引用JNI 异常处理动态注册本地方法JNI 中的线程同步线程的注意事项JNI 本地对象的引用类型JNI将本地代码使用的对象引用分为两类:局部引用 和全局引用。局部引用在本地方法调用期间有效,并在方法返回后自动释放。全局引用在显式释放之前一直保持有效局部引用Java对象会作为局部引用传递给本地方法,JNI函数返回的所有...原创 2019-10-06 02:17:55 · 551 阅读 · 0 评论