目录
垃圾回收介绍
垃圾回收是如何工作的?
垃圾回收的类别
垃圾回收监视和分析
本教程是为了理解基本的Java垃圾回收以及它是如何工作的。这是垃圾回收教程系列的第二部分。希望你已经读过了第一部分:《Java
垃圾回收介绍》。
Java 垃圾回收是一项自动化的过程,用来管理程序所使用的运行时内存。通过这一自动化过程,JVM 解除了程序员在程序中分配和释放内存资源的开销。
启...
分类:
编程语言 时间:
2015-04-21 09:36:52
阅读次数:
224
Java中的SoftReference即对象的软引用。如果一个对象具有软引用,内存空间足够,垃圾回收器就不会回收它;如果内存空间不足了,就会回收这些对象的内存。只要垃圾回收器没有回收它,该对象就可以被程序使用。软引用可用来实现内存敏感的高速缓存。使用软引用能防止内存泄露,增..
分类:
移动开发 时间:
2015-04-21 02:07:52
阅读次数:
166
一、专业术语 GC垃圾回收机制:当需要分配的内存空间不再使用的时候,JVM将调用垃圾回收机制来回收内存空间。 JMX(JavaManagement Extensions,即Java管理扩展)是一个为应用程序、设备、系统等植入管理功能的框架。JMX可以跨越一系列异构操作系统平台、系统体系结构和网络传输...
分类:
其他好文 时间:
2015-04-21 01:36:53
阅读次数:
171
如果有人问.net的垃圾回收,大家会马上想到gc,那如果有人问你javascript如何进行内存管理的呢?挠挠头,一口香瓜,听我细细道来! javascript具有自动垃圾收集机制,执行环境会负责管理代码执行过程中使用的内存,大体的原理是找出那些不在使用的变量,然后释放它占用的内存,为此,垃圾...
分类:
编程语言 时间:
2015-04-20 22:29:08
阅读次数:
257
使用静态static静态变量潜在性问题:1.占用内存,并且内存一般不会释放;2.在系统不够内存情况下会自动回收静态内存,这样就会引起访问全局静态错误。3.不能将activity作为static静态对象,这样使activity的所有组件对象都存入全局内存中,并且不会被回收;(转自:http://blo...
分类:
移动开发 时间:
2015-04-20 20:31:49
阅读次数:
168
由Android缓存设计想到的
前言
到底是应该使用虚拟机底层通过GC回收保障的SoftReference,还是使用一个带LRU算法的队列,哪个更适合Android系统下的应用?
计划
分三个部分:
+ SoftReference
+ LRU Queue
+ Google官方的做法...
分类:
移动开发 时间:
2015-04-20 18:27:11
阅读次数:
144
额,原来用 c 写 cgi 的时候用过 fork 。那时候 cgi 的生命很短,所以遇到的问题压根没出现过。这次也是更加深入的对 fork 机制进行了一下了解。参考这里的文档:http://ju.outofmemory.cn/entry/989711. 我们都是小僵尸下面是这次应用的一个 fork ...
分类:
其他好文 时间:
2015-04-20 16:31:19
阅读次数:
167
引用计数器每个OC对象都有自己的引用计数器,是一个整数表示对象被引用的次数,即现在有多少东西在使用这个对象。对象刚被创建时,默认计数器值为1,当计数器的值变为0时,则对象销毁。在每个OC对象内部,都专门有4个字节的存储空间来存储引用计数器。作用:判断对象要不要回收的唯一依据就是计数器是否为0,若不为...
分类:
其他好文 时间:
2015-04-20 16:30:08
阅读次数:
126
笔记,深入理解java虚拟机 Java运行时内存区域 程序计数器,线程独占,当前线程所执行的字节码的行号指示器,每个线程需要记录下执行到哪儿了,下次调度的时候可以继续执行,这个区是唯一不会发生oom的 栈,线程独占,包含虚拟机栈或native method stack,用于存放局部变量的 堆,线程共...
分类:
编程语言 时间:
2015-04-20 16:24:24
阅读次数:
232
终结方法通常是不可预测的,也是很危险的,一般情况下是不必要的。 如果我们为一个类重写写了Object类的终结方法,那么这个类的实例在被垃圾回收器回收之前会先执行终结方法, 在终结方法中,这个实例对象有可能会被重写引用,也可以用来释放一些资源文件等等,从而不被回收或者对象的善后工作。 终结方法的缺点在...
分类:
其他好文 时间:
2015-04-20 16:15:19
阅读次数:
129