基于 Android NDK 的学习之旅-----JNI 数据类型

来源:互联网 发布:2017java找不到工作 编辑:程序博客网 时间:2024/05/16 08:52

经典老套流程,学编程语言东西,先学它最基础的数据类型,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;

 

 

有不理解的兄弟请留言,个人技术有限,有讲错的地方请大牛们指出,讲的不够全面的请多多包涵,谢谢,


原创粉丝点击