基于 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 数据类型相关推荐
- 基于 Android NDK 的学习之旅-----资源释放
基于 Android NDK 的学习之旅-----资源释放 做上一个项目的时候因为与C引擎交互频繁,有时候会突然莫名其妙的的整个应用程序直接挂掉.因为我是学Java 开始的,所以对主动释放内存没多大概 ...
- 基于 Android NDK 的学习之旅----- C调用Java
2019独角兽企业重金招聘Python工程师标准>>> 基于 Android NDK 的学习之旅----- C调用Java 许多成熟的C引擎要移植到Android 平台上使用 , 一 ...
- 基于 Android NDK 的学习之旅-----数据传输二(引用数据类型)(附源码)
基于 Android NDK 的学习之旅-----数据传输(引用数据类型) 接着上篇文章继续讲.主要关于引用类型的数据传输,本文将介绍字符串传输和自定义对象的传输. 1.主要流程 1. String ...
- 【转】基于 Android NDK 的学习之旅-----数据传输(引用数据类型)
原文网址:http://www.cnblogs.com/luxiaofeng54/archive/2011/08/20/2147086.html 基于 Android NDK 的学习之旅-----数据 ...
- 基于 Android NDK 的学习之旅-----Java 调用C(附源码)
基于 Android NDK 的学习之旅-----Java 调用C 随便谈谈为什么要Java调用C 吧: 我认为: 1. 有些公司开发Android项目的时候, 许多组件功能可能是C中已经实现了,所 ...
- 基于 Android NDK 的学习之旅-----环境搭建
工欲善其事 必先利其器 , 下面介绍下 Eclipse SDK NDK Cygwin CDT 集成开发环境的搭建. 1.Android 开发环境搭建 Android开发环境搭建不是重点,相信看此文章的 ...
- 基于 Android NDK 的学习之旅-----序言
前些日子做了个Android项目, 引擎层用C的, 准备写这个系类的文章,借此跟朋友来分享下我NDK开放的经验以及自己知识的总结和备忘.希望能给需要这方面资料的朋友提供一定的帮助. 主要涉及到: 环 ...
- [b jni android,【Android NDK】(二)jni数据类型及其使用
一. Java数据类型与jni数据类型对应关系 ![](http://upload-images.jianshu.io/upload_images/314331-d409e58d389a300f.pn ...
- Android热修复学习之旅——HotFix完全解析
在上一篇博客 Android热修复学习之旅开篇--热修复概述中,简单介绍了各个热修复框架的原理,本篇博客我将详细分析QQ空间热修复方案. Android dex分包原理介绍 QQ空间热修复方案基于An ...
最新文章
- C/C++字节对齐总结
- 正则表达式从入门到实战
- iphone中使用第三方工具(RegexKitLite)实现正则表达式
- 【转】C#中数组复制的4种方法
- pip install时发生raise ReadTimeoutError(self._pool, None, 'Read timed out.')的解决方案
- oracle 内核参数设置
- Python数据分析学习笔记03:NumPy基础(数组与向量化计算)
- e-006 matlab,基于MATLAB进行潮流计算
- [状压dp] 洛谷 P1879 玉米田
- k1658停运到什么时候_2020年春节快递几号停运 2020年春节快递停运时间电商春节放假通知...
- 会议室预定模拟登陆网站
- Asp.net自定义控件开发任我行(4)-ViewState保存控件状态
- IIS管理器无法打开。启动后,在任务栏中有,但是窗口不见了
- 看透网络执法官的本质
- pynq z1+ov5640
- python主流解析库(re beautifulsoup pyquery xpath)实战--爬取猫眼电影排行
- cto 技能图谱_成为CTO的关键技能是什么?
- [转]鸡头,风尾,如何抉择,年终前跳槽的思考
- Graphviz安装向导及入门指南
- Redis主从复制(Replication)和哨兵模式(Sentinel)
热门文章
- Linux线程——线程同步
- 关于优酷开放SDk之setOnAdCountListener和setOnNetworkSppedListener
- 经营为什么需要哲学(学习总结)
- .Net Core和Jexus配置HTTPS服务
- The python debugger(PDB)的简介
- BZOJ 3208: 花神的秒题计划Ⅰ
- 转:ps aux指令詳解
- 基于struts2+hibernate+spring(ssh2)的登录验证码的实现
- H.264编码profile level控制
- Spring Cloud学习笔记-002