运行时数据区域 线程私有 __程序计数器__ 正在执行的字节码指令的地址(native方法时为undefined) __Java虚拟机栈__ 存储栈帧(局部变量表,操作数栈,动态链接,方法出口)OOM,StackOverflowError __本地方法栈__ 与虚拟机栈类似,是native方法的栈 ...
分类:
其他好文 时间:
2018-06-06 23:49:12
阅读次数:
207
先看一眼JVM虚拟机运行时的内存模型: 1.方法区 Perm(永久代、非堆) 2.虚拟机栈 3.本地方法栈 (Native方法) 4.堆 5.程序计数器 1 首先的问题是:jvm如何知道那些对象需要回收 ? 目前两种标识算法、三种回收算法、两种清除算法、三种收集器 引用计数法 每个对象上都有一个引用 ...
分类:
其他好文 时间:
2018-06-02 13:29:41
阅读次数:
168
时间不多了,快上车。 先看Jdk8 中Java中所有对象的爸爸类Object.java。 居住地址在java.lang. 总共也没有几个方法,大部分还都是native方法。 顺手把家底也掏了出来, //object.c中方法 static JNINativeMethod methods[] = { ...
分类:
编程语言 时间:
2018-05-26 15:27:03
阅读次数:
172
"写的很好" 源码注解 1. 为什么要实现克隆 克隆是为了复制一个对象, 是native方法,比在java代码中一个个复制对象的属性要简洁并且==速度快==。 克隆对象一般应该实现三个语义: 1. 保证克隆对象将有单独的内存地址分配。 2. ,非强制性,原始和克隆的对象应该具有相同的类类型,但它不是 ...
分类:
其他好文 时间:
2018-04-21 14:30:00
阅读次数:
169
概述 在iOS6之前,native只能调用webiew里的js代码,官方没有提供js调用native方法的接口。到了iOS7,官方提供了JSContext用来与js交互,native和js可以双向调用。iOS8之后,提供了WKWebview,开放了很多接口来处理H5和native之间的交互,H5与n ...
分类:
Web程序 时间:
2018-04-19 11:55:36
阅读次数:
205
GCRoots: 虚拟机栈(栈帧中的局部变量表)引用的对象 方法区中静态属性引用的对象 方法去中常量引用的对象 本地方法栈中JNI(NATIVE方法)引用的对象 引用: reference类型数据中存储着另外一块地址的起始地址 强引用:通常的引用,只要引用存在便不会被回收 软引用:有用但非必需的对象 ...
分类:
其他好文 时间:
2018-03-26 16:09:19
阅读次数:
176
Android 4.X 系统调用 so 里的native 方法发生 java.lang.unsatisfiedlinkerror native method not found 的可能原因分析与对应的解决办法 ...
分类:
移动开发 时间:
2018-02-25 13:02:27
阅读次数:
368
一:native声明 在Java中native是关键字。它一般在本地声明,异地用C和C++来实现。它的声明有几点要注意: 1)native与访问控制符前后的关系不受限制。 2)必须在返回类型之前。 3)它一般为非抽象类方法。 4)native方法在异地实现,象抽象方法一样,所以没有方法体,以分号结束 ...
分类:
编程语言 时间:
2018-02-23 20:40:11
阅读次数:
163
SunJDK 中的 src.zip 文件是 Java 类库的源码,Oracle 仅开源了类库。若想要了解 native 方法的实现和 JDK 的实现,则需要查看 "OpenJDK" 的源码。 OpenJDK 是 SunJDK 的开源版本,由于版权原因,SunJDK 中的部分代码并未开放给 OpenJ ...
分类:
其他好文 时间:
2018-02-05 23:19:26
阅读次数:
459
方法一 Object() 即Object的构造方法 Java中规定,每个类都有一个默认的无参构造器,此方法也就是用来体现这一特性方法二 registerNatives 该方法API中并没有写,但类中是存在的,是一个native方法。private static native v
分类:
其他好文 时间:
2018-02-01 19:20:25
阅读次数:
176