JNI/C++
文章平均质量分 87
大山喵
这个作者很懒,什么都没留下…
展开
-
JNI学习笔记:C++代码访问Java类中的成员和方法
0 前言1 程序一:通过字段访问Java类的成员1.1 代码1.2 函数分析1.3 总结和补充2 程序二:通过字段访问Java类的方法2.1 代码2.2 函数总结2.3 总结和补充3 参考链接0 前言在大型的JNI开发项目中,JNI接口的使用可能是方方面面的,函数的参数并不会局限于常见的基本数据类型,更有可能是对象、方法或者集合等复合数据类型...原创 2018-03-22 14:58:03 · 1395 阅读 · 0 评论 -
JNI学习笔记:第一个JNI程序
1. 什么是JNI?1.1 JNI简介1.2 JNI的角色2. 为什么要用JNI?2.1 JNI的作用2.2 JNI的副作用3. 第一个JNI程序 :A+B3.1 开发环境3.2 程序流程3.3 Java代码3.4 C++代码4. 参考文献1. 什么是JNI?1.1 JNI简介 JNI是Java Native Interfa...原创 2018-03-19 21:10:00 · 948 阅读 · 0 评论 -
JNI学习笔记:JNI数据类型和数据结构
0. 前言1. 基本类型2. 引用类型2.1 引用类型层次结构2.2 字段和方法2.3 值类型2.4 类型签名0. 前言Java与C++代码的交互都是通过native函数来完成,而使用函数,必然会牵涉到数据传递,数据类型决定了内存中数据的解释方式,不同的语言之间会有所不同,因此两者之间的交互,要遵守一定规则。在Java中,数据类型可以分为基本类型和引...原创 2018-03-20 18:00:39 · 773 阅读 · 0 评论 -
JNI学习笔记:数组作为函数参数
1 前言2 一维数组作为函数参数传值的Demo2.1 代码示例2.2 程序分析2.3 函数释义3 数组作为返回值的Demo3.1 代码示例3.2 函数释义4 一维数组作为函数参数的总结1 前言本文将展示如何从Java代码中,通过JNI接口传递给C++代码一维数组,并进行相关运算以及返回值。Java代码传递数组到C++中,主要通过JNI的函数来...原创 2018-03-21 17:54:53 · 2227 阅读 · 0 评论 -
JNI学习笔记:二维数组的使用
1 前言2 程序一:Java类中的二维数组成员传值给C++并求和2.1 代码2.2 总结3 程序二:C++代码修改Java类中的二维数组3.1 代码3.2 总结4 程序三:C++代码中返回一个二维数组给Java类4.1 代码4.2 总结1 前言 二维数组在JNI中的传值,与一维数组有些微不同。逻辑上,二维数组是一个类似于行列式的数据结...原创 2018-03-27 12:04:30 · 5883 阅读 · 5 评论 -
JNI学习笔记:异常处理
1 前言2 一个处理JNI异常的Demo2.1 代码2.2 一个抛出异常的工具函数3 JNI异常处理总结3.1 JNI异常机制3.2 异常处理函数4 参考链接1 前言 在编程开发中,我们会遇到各种各样的程序异常(Exception),Java和C++等面向对象语言提供了异常处理机制,如常见的try-catch-finally机制等。异常处理机制...原创 2018-03-27 22:09:10 · 1197 阅读 · 0 评论 -
JNI学习笔记:缓存技术
1 前言2 使用时缓存3 类初始化缓存4 对比程序5 总结1 前言 为什么使用缓存技术?使用JNI接口访问字段或方法时,需要通过字段或方法的ID来进行操作,获取ID的过程是一个检索的过程,该过程相对而言比较耗时,缓存技术就是为了减少该过程的时间消耗。缓存技术又根据发生时刻不同分为两种:使用时缓存(Caching at the Point of use)和类...原创 2018-04-03 22:49:11 · 589 阅读 · 1 评论 -
JNI学习笔记:引用技术
1 前言1.1 什么是引用1.2 为什么要使用引用2. 全局引用和局部引用2.1 局部引用2.2 全局引用2.3 弱引用2.4 引用比较3 释放引用3.1 释放局部引用3.2 Java 2 SDK Release1.2 中的局部引用管理3.3 释放全局引用4 总结1 前言1.1 什么是引用 在使用JNI技术进行Java和Na...原创 2018-04-18 16:55:37 · 457 阅读 · 0 评论 -
JNI学习笔记:JNIEnv、jobject与jclass详解
1 前言2 JNIEnv指针3 jobject与jclass类型1 前言 在进行JNI编程开发的时候,使用javah生成Native方法对应的Native函数声明,会发现所有的Native函数的第一个参数永远是JNIEnv指针,而第二个参数永远是jobject或jclass中的一个。JNIEnv指针指代何物?具有何种功能?jobject和jclass又有何区别...原创 2018-04-21 22:35:49 · 19704 阅读 · 0 评论