基于 Android NDK 的学习之旅-----JNI 数据类型
經典老套流程,學編程語言東西,先學它最基礎的數據類型,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 NDK 的学习之旅-----JNI 数据类型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spark on Yarn:任务提交参数
- 下一篇: FTP开启虚拟用户访问