基于 Android NDK 的学习之旅-----JNI 数据类型
經(jīng)典老套流程,學編程語言東西,先學它最基礎的數(shù)據(jù)類型,JNI也是如此。JNI 定義了一系列基本數(shù)據(jù)類型和引用數(shù)據(jù)類型與java想對應。
?
1、基本數(shù)據(jù)類型
下面一張表是描述了 Java 基本數(shù)據(jù)類型和JNI中基本數(shù)據(jù)類型的相對應關系已經(jīng)占用空間大小。
?
隨便觀察就能發(fā)現(xiàn),其實就基本數(shù)據(jù)類型而已,JNI基本數(shù)據(jù)類型只是比Java基本數(shù)據(jù)類型前多了個’j’而已
當然,JNI中還有個Java中沒有的jsize,定義如下:
typedef jint jsize;
其實jsize整型是用來描述基本指標和大小,沒有什么神秘的。
2、引用數(shù)據(jù)類型
JNI 引用類型 與 Java 的對應關系 如下 樹層次圖:
?
?
跟java一樣,jobject 是所有引用類型的 父親。看看是不是很容易理解 ?呵呵.關于jthrowable,JNI也是有線程概念的.
3、??????? The jvalue Type
Jvalue 是基本數(shù)據(jù)類型和引用數(shù)據(jù)類型的集合,它的定義如下:
typedef union jvalue {
??? jboolean z;
??? jbyte??? b;
??? jchar??? c;
??? jshort?? s;
??? jint???? i;
??? jlong??? j;
??? jfloat?? f;
??? jdouble? d;
??? jobject? l;
} jvalue;
?
?
有不理解的兄弟請留言,個人技術有限,有講錯的地方請大牛們指出,講的不夠全面的請多多包涵,謝謝
總結
以上是生活随笔為你收集整理的基于 Android NDK 的学习之旅-----JNI 数据类型的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spark on Yarn:任务提交参数
- 下一篇: Android 添加 *.arr