Java垃圾处理机制学习总结
来源:互联网 发布:php app接口开发 框架 编辑:程序博客网 时间:2024/05/20 03:47
一、垃圾收集(Garbage Collection)
在研究Java垃圾回收及至时候,考虑哪些内存需要收回?什么时间收回?如何收回?
Java虚拟机堆中存放着几乎所有的Java实例对象,如何判断众多对象中哪些对象已经失效?
-引用计数法:给对象添加一个引用计数器,每一次被引用时,计数器加1;每一次引用失效时,计数器减1;任何时候计数器都为0的对象就是不能被访问的对象。(Java中并没有 采用这种方法,因为该方法很难解决对象之间互相引用的问题)。
-根搜索算法:GC Root 到对象之间没有可以连接的路径时,这些对象是不可用的。
对象的消亡需要经过两次的标记,上面判断失效是第一次,对象的最后一次救赎在F-Queue中。
在F-Queue中的对象如果在被回收之前与引用链上的任何一个对象建立联系,那么它就会被从F-Queue中移出。
二、垃圾回收的算法:
(1)标记-清除算法
第一步:标记处出所有需要清除的对象;第二步:统一收掉所有被标记的对象。
缺点:1、效率不高。2、空间利用率不好,清除后会产生很多不连续的内存区域。这样会导致当程序需要创建大对象进行程序执行时,找不到足够的空间,从而又一次触发垃圾回收动作。
(2)复制算法
将内存按容量分为两部分,每次只用其中一块,当这一块用完了,就将还存活的对象复制到另一块上,然后再把使用过的内存空间清理掉,无内存碎片问题。只是将内存缩减一半,代价有点高~
(3)标记-整理算法
首先是标记,然后将所有存活的对象向一端移动,最后直接清理掉端边界以外的所有内存。
(4)分析收集算法
内存划分块,个新生代和老块中的对象回收仍需要标记-清除算法。
2 0
- Java垃圾处理机制学习总结
- java的垃圾处理机制
- java中的垃圾处理机制
- java垃圾处理机制(一)
- java垃圾处理机制(二)
- 核心机制之Java垃圾处理
- Java内存管理和垃圾处理机制
- JAVA 垃圾处理
- java垃圾处理
- JAVA中垃圾处理,垃圾处理算法
- JVM_Java垃圾处理机制
- java垃圾处理机制(四)——垃圾回收算法
- GC(垃圾处理机制)面试题
- GC(垃圾处理机制)面试题
- java垃圾处理机制(三)——JVM内存配置详解
- java反射机制学习总结
- java反射机制学习总结
- java反射机制学习总结
- linux zip/unzip命令
- Java 使用 Redis
- iOS数据存储之CoreData(一)
- 树莓派实现NAS家庭服务器(流媒体播放、文件共享及下载机)
- 多个参数的selector参数说明
- Java垃圾处理机制学习总结
- 将图片写入我们的系统相册
- 淘宝店铺店名起、分类如何定【太原网络营销师】教你
- 判断一个类是否是另一个类
- HC-05 蓝牙挺好用的
- PE文件执行顺序
- iOS 国际化
- 调用系统相册框加载图片
- MySQL权限篇之SHUTDOWN及SUPER还有TRIGGER