08 2017 档案
摘要:Jni的Jclass JmethodID JfrieldID 这三者都是java类别的属性,本质上都是指标(Pointer).透过这些指标就能快速调用java类别的函数,或存取对象的属性值。在该类别被载入时,这些指标值都是有效的,一直到该类别被卸载为止。其中jmethodID和jfieldID指标可
阅读全文
摘要:转自:http://blog.csdn.net/xyang81/article/details/44657385 这篇文章比较偏理论,详细介绍了在编写本地代码时三种引用的使用场景和注意事项。可能看起来有点枯燥,但引用是在JNI中最容易出错的一个点,如果使用不当,容易使程序造成内存溢出,程序崩溃等现象
阅读全文
摘要:一、概述 JNI编程和Linux上的C/C++编程还是挺相似的,每次java调用JNI中的函数时都会传入有关JVM的一些参数(如JNIEnv,jobject),每次JNI回调java中的方法时都要通过JVM的有关参数来实现,当在JNI中涉及到多线程的话还是有一些不一样的地方,就是要在子线程函数里使用
阅读全文
摘要:JNI的实现可涉及两个关键类:JNIEnv和JavaVM。 JavaVM:这个代表java的虚拟机。所有的工作都是从获取虚拟机的接口开始的。 JavaVM:这个代表java的虚拟机。所有的工作都是从获取虚拟机的接口开始的。 第一种方式,在加载动态链接库的时候,JVM会调用JNI_OnLoad(Jav
阅读全文
摘要:JNI,Java Native Interface,是 native code 的编程接口。JNI 使 Java 代码程序可以与 native code 交互——在 Java 程序中调用 native code;在 native code 中嵌入 Java 虚拟机调用 Java 的代码。JNI 编程
阅读全文
摘要:DefineClass jclass DefineClass(JNIEnv *env, jobject loader, const jbyte *buf, jsize bufLen); 从原始类数据的缓冲区中加载类。 参数: env:JNI 接口指针。 loader:分派给所定义的类的类加载器。 b
阅读全文
摘要:SWIG 安装 本文使用了 SWIG 版本 2.0.4(参见 参考资料 获取下载站点的链接)。要构建和安装 SWIG,可按照典型的开源安装流程,在命令提示符下输入以下命令: 请注意,为前缀提供的路径必须是绝对路径。 SWIG 安装 本文使用了 SWIG 版本 2.0.4(参见 参考资料 获取下载站点
阅读全文
摘要:在说明finalize()的用法之前要树立有关于java垃圾回收器几个观点: finalize()的功能 : 一旦垃圾回收器准备释放对象所占的内存空间, 如果对象覆盖了finalize()并且函数体内不能是空的, 就会首先调用对象的finalize(), 然后在下一次垃圾回收动作发生的时候真正收回对
阅读全文
摘要:一,下载SWIG,并设置好环境变量 二以HelloJni为例子 导入ndk sample的HelloJni工程。 三 创建SWIG接口文件 在jni目录下新建文件Unix.i,输入SWIG代码: [cpp] view plain copy print? %module Unix %{ #includ
阅读全文
摘要:小弟一直没用过Linux。 平时的码也只是在WINDOW上用SWIG或CYGWIN进行编译。 下面的例子,先从网上找来一个.c文件。 example.c [cpp] view plain copy /* File : example.c */ #include <time.h> double My_
阅读全文
摘要:1:“字节”是byte,“位”是bit ; 2: 1 byte = 8 bit ; char 在Java中是2个字节。java采用unicode,2个字节(16位)来表示一个字符。 例子代码如下: [java] view plain copy print? public class Test { p
阅读全文
摘要:转自:http://www.cnblogs.com/focusChen/articles/2497768.html 关键字: java对象 引用 Java对象及其引用 关于对象与引用之间的一些基本概念。 初学Java时,在很长一段时间里,总觉得基本概念很模糊。后来才知道,在许多Java书中,把对象和
阅读全文

浙公网安备 33010602011771号