基於Android NDK的學習之旅-----JNI資料類型

來源:互聯網
上載者:User

經典老套流程,學程式設計語言東西,先學它最基礎的資料類型,JNI也是如此。JNI 定義了一系列基礎資料型別 (Elementary Data Type)和引用資料類型與java想對應。
 
1、基礎資料型別 (Elementary Data Type)
下面一張表是描述了 Java 基礎資料型別 (Elementary Data Type)和JNI中基礎資料型別 (Elementary Data Type)的相對應關係已經佔用空間大小。

隨便觀察就能發現,其實就基礎資料型別 (Elementary Data Type)而已,JNI基礎資料型別 (Elementary Data Type)只是比Java基礎資料型別 (Elementary Data Type)前多了個’j’而已
當然,JNI中還有個Java中沒有的jsize,定義如下:
typedef jint jsize;
其實jsize整型是用來描述基本指標和大小,沒有什麼神秘的。

2、引用資料類型
JNI 參考型別 與 Java 的對應關係 如下 樹層次圖:

 
跟java一樣,jobject 是所有參考型別的 父親。看看是不是很容易理解 ?呵呵.關於jthrowable,JNI也是有線程概念的.
3、        The jvalue Type
Jvalue 是基礎資料型別 (Elementary Data Type)和引用資料類型的集合,它的定義如下:
typedef union jvalue {
    jboolean z;
    jbyte    b;
    jchar    c;
    jshort   s;
    jint     i;
    jlong    j;
    jfloat   f;
    jdouble  d;
    jobject  l;
} jvalue;
 
 
 

 
本文出自 “Duicky” 部落格

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.