转自:http://www.cnblogs.com/gudi/p/6403953.html 1、强引用(StrongReference) 强引用是使用最普遍的引用。如果一个对象具有强引用,那垃圾回收器绝不会回收它。如下:Object o=new Object(); // 强引用 当内存空间不足,Ja... ...
分类:
编程语言 时间:
2017-06-15 20:37:27
阅读次数:
239
1. 引用计数法:给对象添加一个引用计数器,每当一个地方引用它,计数器值加1;当引用失效时,计数器值就减1 2. 可达性分析法:当一个对象到GC Roots没有任何引用链相连时,该对象被判断为可回收的对象,主流方法 可作为GC Roots对象的: (1)虚拟机栈中引用的对象(栈帧中的本地变量表); ...
分类:
其他好文 时间:
2017-05-20 17:18:11
阅读次数:
154
内存溢出 产生原因 Android 的虚拟机是基于寄存器的Delvik,它的最大堆内存是16M,有的机器是24M,因此所能用的内存空间是有限的,如果我们的内存占用超过一定水平就会出现OOM异常 对象内存过大 保存了多个好用内存的过大的对象(比如Bitmap,XML文件),造成内存超出限制 图片过大导 ...
分类:
其他好文 时间:
2017-05-15 00:34:36
阅读次数:
163
1、强引用(StrongReference) 强引用是使用最普遍的引用。假设一个对象具有强引用。那垃圾回收器绝不会回收它。例如以下: [java] view plaincopyprint? Object o = new Object(); // 强引用 当内存空间不足,Java虚拟机宁愿抛出OutO ...
分类:
编程语言 时间:
2017-05-13 17:04:26
阅读次数:
214
下面以使用软引用为例来详细说明。弱引用的使用方式与软引用是类似的。 假设我们的应用会用到大量的默认图片,比如应用中有默认的头像,默认游戏图标等等,这些图片很多地方会用到。如果每次都去读取图片,由于读取文件需要硬件操作,速度较慢,会导致性能较低。所以我们考虑将图片缓存起来,需要的时候直接从内存中读取。 ...
分类:
其他好文 时间:
2017-04-15 23:49:41
阅读次数:
421
判断对象是否存活 无用的类标准 垃圾收集算法:标记-清除算法(CMS)、复制算法(新生代)、标记整理算法 HotSpot算法 没有为所有指令都生成OopMap,程序并发所有地方都能停下来执行GC,只有到了安全点才能暂停 主动式中断:GC需要中断线程时,设置一个标志,线程执行时主动去轮询这个标志,再中 ...
分类:
其他好文 时间:
2017-04-15 14:50:30
阅读次数:
154
概述由于JVM中垃圾收集器的存在,使得Java程序员在开发过程中可以不用关心对象创建时的内存分配以及释放过程,当内存不足时,JVM会自动开启垃圾收集线程,进行垃圾对象的回收。
那么垃圾回收线程到底是...
分类:
编程语言 时间:
2017-04-05 15:38:50
阅读次数:
231
Java 中有四种引用:强引用、软引用、弱引用、虚引用; 其主要区别在于垃圾回收时是否进行回收: 1.强引用 使用最普遍的引用。如果一个对象具有强引用,那就 类似于必不可少的生活用品,垃圾回收器绝不会回收它。当内存空 间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止 ...
分类:
编程语言 时间:
2017-04-04 19:00:04
阅读次数:
153
今天面试了一家公司的java开发方面的实习生,被问到一个问题:如何处理java中的内存泄露问题,保证java的虚拟机内存不会被爆掉,当时其实觉得面试官的问题有点泛,所以也没有很好领会他的意思,答案也不是很准确,后来回去查了下资料,大概明白面试官要问的东西是什么(尴尬,才反应过来),然后,也特地简单总 ...
分类:
编程语言 时间:
2017-03-21 22:30:30
阅读次数:
210
http://www.cnblogs.com/skywang12345/p/3154474.html 1 Java引用介绍 Java从1.2版本开始引入了4种引用,这4种引用的级别由高到低依次为: 强引用 > 软引用 > 弱引用 > 虚引用 ⑴强引用(StrongReference) 强引用是使用最 ...
分类:
编程语言 时间:
2017-03-10 00:13:04
阅读次数:
263