JNI一些基本概念
1.在开发JNI之前我们需明白什么是JNI,以及JNI的使用场景,下面回答这两个问题
第一个问题:什么是JNI呢?
JNI是Java Native Interface的缩写,它提供了若干的API实现了Java和其他语言的通信(主要是C&C++)
第二个问题:JNI的使用场景?
- java api 不能满足我们程序的需要的时候
- 算法计算,图像渲染 效率要求非常高
- 当需要访问一些已有的本地库
2.开发JNI就必须使用NDK,那么NDK又是什么呢?
NDK是工具的集合,帮助开放者快速开放C/C++ 动态库的工具。
3.JNI的数据类型与java之间的映射关系
3.1 基本数据类型
| java | JNI |
|---|---|
| boolean | jboolean |
| byte | jbyte |
| char | jchar |
| short | jshort |
| int | jint |
| long | jlong |
| float | jfloat |
| double | jdouble |
3.2 引用类型
| java | JNI |
|---|---|
| String | jstring |
| Object | jobject |
3.3 数组类型
| java | JNI |
|---|---|
| Object[] | jobjectArray |
| String[] | jobjectArray |
本文介绍了JNI(Java Native Interface)的基本概念及其应用场景,并解释了JNI如何实现Java与其他语言(特别是C/C++)之间的通信。此外,还探讨了NDK工具集的作用及JNI中Java类型与本地类型之间的映射。
580

被折叠的 条评论
为什么被折叠?



