Android开发Android技术知识Android开发经验谈

基于 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 进阶视频资料
上一篇下一篇

猜你喜欢

热点阅读