java 垃圾回收机制
来源:互联网 发布:阿里云服务器网速很慢 编辑:程序博客网 时间:2024/05/27 00:48
java 垃圾回收机制常见的两种,原理简介。
(1)引用计数法
早期的垃圾回收采用引用计数(reference counting)的机制。每个对象包含一个计数器。当有新的指向该对象的引用时,计数器加1。当引用移除时,计数器减1。当计数器为0时,认为该对象可以进行垃圾回收。
堆中每一个对象都有一个引用计数。当新创建一个对象,或者有变量被赋值为这个对象的引用,则这个对象的引用计数加1;当一个对象的引用超过生存期或者被设置一个新的值时,这个对象的引用计数减1。当对象的引用计数变为0时,就可以被当作垃圾收集。
这种方法的好处是垃圾收集较快,适用于实时环境。缺点是这种方法无法监测出循环引用。例如对象A引用对象B,对象B也引用对象A,则这两个对象可能无法被垃圾收集器收集。因此这种方法是垃圾收集的早期策略,现在很少使用。
(2)跟踪法
这种方法把每个对象看作图中一个节点,对象之间的引用关系为图中各节点的邻接关系。垃圾收集器从一个或数个根结点遍历对象图,如果有些对象节点永远无法到达,则这个对象可以被当作垃圾回收。
容易发现,这种方法可以检测出循环引用,避免了引用计数法的缺点,较为常用。
0 0
- java垃圾回收机制
- Java垃圾回收机制
- java垃圾回收机制
- 【java】垃圾回收机制
- [Java] 垃圾回收机制
- Java垃圾回收机制
- Java垃圾回收机制
- Java垃圾回收机制
- java垃圾回收机制
- Java垃圾回收机制
- Java垃圾回收机制
- java垃圾回收机制
- java垃圾回收机制
- java 垃圾回收机制
- java垃圾回收机制
- Java垃圾回收机制
- Java垃圾回收机制
- Java垃圾回收机制
- 电脑插入USB鼠标unknown device问题解决方案
- Android入门第六篇之ListView
- 关于mysql函数GROUP_CONCAT
- hdu 2077 汉诺塔IV (递推)
- 20步打造最安全的Nginx Web服务器
- java 垃圾回收机制
- C++学习笔记(第五章 二维数组及应用 之二)
- 添加公里网格(修改)
- 1002. A+B for Polynomials (25)——PAT (Advanced Level) Practise
- 网络爬虫(七):亮剑!爬虫框架小抓抓Scrapy闪亮登场!
- Android 音乐播放器Service+MediaPlayer
- Mina、Netty、Twisted一起学(八):HTTP服务器
- 详解CUDA核函数及运行时参数<<<>>>
- GPU高性能计算之CUDA-第一章