上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 24 下一页
摘要: 当static的修饰符出现是,表明该变量为静态变量,当我们为一个局部静态变量赋一个局部引用时(jstring,jclass,jint等),gc有可能会因为内存不够自动触发,回收局部引用,这时,局部静态变量就会出现野指针,如果不作异常处理则程序崩溃 //缓存策略和弱引用联合使用带来的问题 JNIEXP 阅读全文
posted @ 2020-04-13 09:00 aruba_233 阅读(18) 评论(0) 推荐(0)
摘要: 之前使用到JNI中,都是通过javah命令生成对应c/c++中的方法名,其规则为:java的包名+native方法名,我们把它称作静态注册。 JNI还可以使用动态注册,在JNI源码中,安卓系统(PathClassLoader)加载so文件时,首先会调用一个方法:JNI_OnLoad;这是系统预留给外 阅读全文
posted @ 2020-04-11 15:24 aruba_233 阅读(24) 评论(0) 推荐(0)
摘要: JAVA中可以使用try catch捕获异常,那么JNI中如果发生了异常会是什么现象呢? 我们在JAVA中定义native方法,并调用 package com.aruba.jniapplication; /** * JNI 引用 */ public class JniDemo6 { static { 阅读全文
posted @ 2020-04-09 14:21 aruba_233 阅读(42) 评论(0) 推荐(0)
摘要: JNI中有三种引用 1.局部引用--定义方式多样:FindClass,NewObject,GetObjectClass,NewCharArray.... NewLocalRef() 我们一般的变量就是局部引用,不能在多线程里面使用 释放方式: 1 方法调用完JVM 会自动释放 2.DeleteLoc 阅读全文
posted @ 2020-04-08 15:35 aruba_233 阅读(43) 评论(0) 推荐(0)
摘要: 今天来使用JNI对数组操作,数组分为基本类型数组和引用类型数组,首先来看下基本类型数组的使用 1.基本类型数组 我们在java中定义一个方法,传入一个int型数组,使用c++进行排序 package com.aruba.jniapplication; /** * JNI访问数组 */ public 阅读全文
posted @ 2020-04-08 14:45 aruba_233 阅读(15) 评论(0) 推荐(0)
摘要: 我们定义一个native方法用来获取c/c++返回的字符串 package com.aruba.jniapplication; public class JniDemo3 { static { System.load("C:\\Users\\tyqhc\\source\\repos\\JniAppl 阅读全文
posted @ 2020-04-07 22:54 aruba_233 阅读(59) 评论(0) 推荐(0)
摘要: 上次说到c/c++调用Java的变量,同样的c/c++也可以调用Java的方法 1.c/c++native方法调用Java非静态方法 首先看下我们Java的类 package com.aruba.jniapplication; import java.util.Random; public clas 阅读全文
posted @ 2020-04-07 15:18 aruba_233 阅读(133) 评论(0) 推荐(0)
摘要: 上次说到了JNI调用的具体步骤,先再JAVA类中定义了静态native方法,使用javah命令生成c/c++的head文件,再实现相应的c或者c++函数,今天来看下java非静态native方法在JNI中如何使用 在上次的类中定义非静态native方法:getStringFromC2() packa 阅读全文
posted @ 2020-04-07 10:19 aruba_233 阅读(25) 评论(0) 推荐(0)
摘要: JNI全名为:Java Native Interface,用于连接Java和C/C++桥梁,通过JNI,Java语言可以调用C/C++的函数,反之C/C++也可以调用Java的变量和方法,一般使用环境为:当Java满足不了程序的需要,如算法、图像渲染等高性能消耗操作时,需要访问一些C/C++代码提高 阅读全文
posted @ 2020-04-06 16:29 aruba_233 阅读(54) 评论(0) 推荐(0)
摘要: Box2d是一个强大的开源物理游戏引擎,使用c/c++编写,用来模拟2D的物体运动和碰撞。Box2D内部集成了大量的物理力学和运动学计算,内部实现很复杂,但是封装性很好,暴露给开发者的接口简单友好 有人实现了Java版的Box2D后被谷歌收入,并成立了一个小组维护这个项目--JBox2D JBox2 阅读全文
posted @ 2020-04-02 14:47 aruba_233 阅读(108) 评论(0) 推荐(0)
上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 24 下一页