加载中...

JNI(Java Native Interface,Java 本地接口)是 Java 平台定义的标准编程接口,规定了运行在虚拟机中的 Java(及 Kotlin)代码与 C/C++ 等本地代码之间互相调用与数据交换的方式。
Java 侧用 native 关键字声明方法,本地侧按命名约定或 RegisterNatives 动态注册实现函数;本地代码通过 JNIEnv 指针提供的函数表操作 Java 对象——查找类、调用方法、访问字段、创建引用,并需区分局部引用与全局引用以配合垃圾回收。
是 Android NDK 开发的基础:音视频、游戏引擎、加密算法等 so 库均通过 JNI 暴露给应用层;桌面 Java 调用系统能力、JDBC 底层驱动等也有使用。
JNI 调用有跨边界开销,引用管理不当会导致内存泄漏或崩溃,异常需要手工检查,通常建议将接口设计得粗粒度、少跨界。

登录 后参与讨论
暂无讨论,来发表第一条评论吧