基于 Android NDK 的学习之旅-----JNI 数据类
2019-02-19 本文已影响5人
Android高级架构探索
原文:https://blog.csdn.net/dui_cky/article/details/6688210
经典老套流程,学编程语言东西,先学它最基础的数据类型,JNI也是如此。JNI 定义了一系列基本数据类型和引用数据类型与java想对应。
1、基本数据类型
下面一张表是描述了 Java 基本数据类型和JNI中基本数据类型的相对应关系已经占用空间大小。
随便观察就能发现,其实就基本数据类型而已,JNI基本数据类型只是比Java基本数据类型前多了个’j’而已
当然,JNI中还有个Java中没有的jsize,定义如下:
typedef jint jsize;
其实jsize整型是用来描述基本指标和大小,没有什么神秘的。
2、引用数据类型
JNI 引用类型 与 Java 的对应关系 如下树层次图:
跟java一样,jobject 是所有引用类型的 父亲。看看是不是很容易理解 ?呵呵.关于jthrowable,JNI也是有线程概念的.
3、 The jvalue Type
Jvalue 是基本数据类型和引用数据类型的集合,它的定义如下:
typedef union jvalue {
jboolean z;
jbyte b;
jchar c;
jshort s;
jint i;
jlong j;
jfloat f;
jdouble d;
jobject l;
}jvalue;
有不理解的兄弟请留言,个人技术有限,有讲错的地方请大牛们指出,讲的不够全面的请多多包涵,谢谢,
最后给大家分享一份非常系统和全面的Android进阶技术大纲已经进阶资料
想学习更多Android知识,或者获取相关资料请加入Android技术开发交流 878873098 进 群 即可找 群 管理免费领取。
主要是针对做移动开发一到五年,想系统深入提升或者是困于瓶颈的小伙伴。
Android高级技术大纲,以及系统进阶视频;
Android高级技术大纲 Android 进阶视频资料