GCRoots: 虚拟机栈(栈帧中的局部变量表)引用的对象 方法区中静态属性引用的对象 方法去中常量引用的对象 本地方法栈中JNI(NATIVE方法)引用的对象 引用: reference类型数据中存储着另外一块地址的起始地址 强引用:通常的引用,只要引用存在便不会被回收 软引用:有用但非必需的对象 ...
分类:
其他好文 时间:
2018-03-26 16:09:19
阅读次数:
176
1、什么事JNI技术 JNI是Java Native Interface的缩写,它提供了若干的API实现了Java和其他语言的通信(主要是C&C++)。从Java1.1开始,JNI标准成为java平台的一部分,它允许Java代码和其他语言写的代码进行交互。 2、怎么用JNI技术 你可以使用JNI来实 ...
分类:
其他好文 时间:
2018-03-24 10:15:45
阅读次数:
160
1 package java.lang; 2 3 4 public class Object { 5 6 /** 7 * 一个本地方法,具体是用C(C++)在DLL中实现的,然后通过JNI调用 8 */ 9 private static native void registerNatives(); ... ...
分类:
其他好文 时间:
2018-03-21 23:19:15
阅读次数:
225
前沿:有时候我们的android项目会有核心算法或代码,一般这种情况会把算法(cpp文件等)打成so文件,把代码进行整理打成jar包或aar包;今天我们就来讨论怎样把算法打成so文件,怎样把关键代码打成jar包。 怎样把算法封装成so文件?首先我们知道算法是C语言写的,这里我们用jni来完成项目与算 ...
分类:
移动开发 时间:
2018-03-19 22:17:15
阅读次数:
549
jni返回到java层的字符串有时正确,有时错误。错误的字符串可能是任何一串字符,看起来很奇怪。 通过加日志,得知生成的jstring已经不正确了,所以怀疑生成jstring用的char*有问题,可能被释放了。 分析代码,里边用的char*是从string转来的,只要string没被释放,char* ...
分类:
其他好文 时间:
2018-03-15 19:27:35
阅读次数:
155
先看要实现的效果 第一步, 下载SDK,基础配置,百度开发文档很详细,直接附上链接http://lbsyun.baidu.com/index.php?title=androidsdk/guide/create-project/androidstudio 第二步 在百度开发者平台上注册和获取key,填 ...
分类:
移动开发 时间:
2018-03-12 21:17:09
阅读次数:
217
本文讲述在Andriod平台如何使用JIN。 下载链接:http://dev.t-firefly.com/thread-13426-1-1.html 下载链接:http://dev.t-firefly.com/thread-13426-1-1.html ...
分类:
其他好文 时间:
2018-03-12 17:05:05
阅读次数:
163
一、GC的概念Garbage Collection 垃圾收集。1960年 List 使用了GC。Java中,GC的对象是堆空间和永久区。二、 GC算法1、 引用计数法(没有被java采用,在python中有) 老牌垃圾回收算法。 通过引用计算来回收垃圾。 引用计数器的实现很简单,对于一个对象A,只要... ...
分类:
编程语言 时间:
2018-03-02 18:40:10
阅读次数:
189
native 即 JNI,Java Native Interface 使用native关键字说明这个方法是原生函数,也就是这个方法是用C/C++语言实现的,并且被编译成了DLL,由java去调用。这些函数的实现体在DLL中,JDK的源代码中并不包含,你应该是看不到的。对于不同的平台它们也是不同的。这 ...
分类:
其他好文 时间:
2018-02-23 20:57:28
阅读次数:
133
一:native声明 在Java中native是关键字。它一般在本地声明,异地用C和C++来实现。它的声明有几点要注意: 1)native与访问控制符前后的关系不受限制。 2)必须在返回类型之前。 3)它一般为非抽象类方法。 4)native方法在异地实现,象抽象方法一样,所以没有方法体,以分号结束 ...
分类:
编程语言 时间:
2018-02-23 20:40:11
阅读次数:
163