java 垃圾收集
2024-08-31 02:18:43
1.为什么使用垃圾收集
a。把用户从释放占用内存的重担中解救出来
b。帮助程序保持完整性
2.垃圾收集算法
检测出垃圾对象,必须回收垃圾对象所使用的堆空间并还给程序
垃圾检测:通过建立一个根对象集合并且检查从这些根对象开始的可触及性来实现。从根对象开始,任何可以被触及的对象都被认为是“活动”的对象。
3.引用计数收集器
堆中每一个对象都有一个引用计数,任何引用计数为0的对象可以被当做垃圾收集,
4.跟踪收集器
从根结点开始的对象引用图,遇到的对象以某种方式打上标记,标记清除,虚拟机遍历引用树,标记每一个遇到的对象,在清除阶段,未被标记的对象被释放了。
5.压缩收集器
6.拷贝收集器
把所有的活动对象移到一个新的区域,
7.按代收集的收集器
8 对象可触及的生命周期
每一个对象的三种状态:可触及的,可复活的,不可触及的,
软引用,弱引用,影子引用,强引用禁止目标被垃圾收集,而软引用,弱引用和影子引用不禁止。
最新文章
- win系统登录密码重置
- webservice 之 WSDL的解析
- 标签语义化之常用HTML标签
- 关于PF_RING/Intel 82599/透明VPN的一些事
- response实现验证码图片
- [JAVA设计模式]第四部分:行为模式
- 网页爬虫--scrapy入门
- Redis的List操作
- AssetsManager下载类
- nodejs http静态服务器
- STM8不用手动复位进入自带Bootloader方法(串口下载)
- vim代码粘贴缩进混乱的问题[Linux]
- 201521123001《Java程序设计》第4周学习总结
- 201521123105 第11周Java学习总结
- bashell基础
- 使用VSTS的Git进行版本控制(四)——在Visual Studio中管理分支
- [Spring] Annotation注释
- STS或eclipse安装SVN插件
- jquery插件Flot的简单讲解
- JavaScript截取中英文字符串