标记-整理算法(老年代)
标记:它的第一个阶段与标记/清除算法是一模一样的 , 均是遍历 GC Roots , 然后将存活的对象标记 。
整理:移动所有存活的对象 , 且按照内存地址次序依次排列 , 然后将末端内存地址以后的内存全部回收 。因此 , 第二阶段才称为整理阶段 。
这是一种老年代的垃圾收集算法 。老年代的对象一般寿命比较长 , 因此每次垃圾回收会有大量对象存活 , 如果采用复制算法 , 每次需要复制大量存活的对象 , 效率很低 。
分代收集算法
根据对象存活周期的不同 , 将内存划分为几块 。一般是把 Java 堆分为新生代和老年代 , 针对各个年代的特点采用最适当的收集算法 。
新生代:复制算法
老年代:标记-清除算法、标记-整理算法
推荐阅读
- 如何收集转移财产的证据?
- 什么是JVM?
- 垃圾食品的制作过程
- 从阿里、头条面试回来,面试官最喜欢问的Jvm和Redis你了解多少?
- 垃圾桶图片 医疗废弃物专用垃圾桶属于医疗器械吗
- 数据库主机及数据库日志收集
- 什么是垃圾外链,如何辨别?
- 一线大厂JAVA面试精选:JVM+RabbitMQ+Mybatis+Redis+分布式+微服务
- Java必知必会:JVM是啥
- 你的苹果手机多久清理一次垃圾 苹果手机缓存怎么清理