写点什么

架构师训练营 作业 9

用户头像
Arthur
关注
发布于: 2020 年 12 月 20 日



  • 请简述 JVM 垃圾回收原理。

  • 定义:把JVM堆中的已经不再被使用的对象清理掉,释放宝贵的内存资源,被称为垃圾回收。

  • 判断方法:

  • 判断对象是否生存:可达性分析算法

  1. 线程栈帧中的局部变量;

  2. 从方法区的静态变量出发,将变量引用的对象进行标记,然后看这些被标记的对象是否引用了其他对象,继续进行标记,所有被标记过的对象都是被使用的对象,而那些没有被标记的对象就是可回收的垃圾对象。

  • 释放的方法:

  1. 清理:将要被清理掉的对象所在内存空间标记为空闲;

  2. 压缩:将存活的对象拷贝放在一段连续的内存空间中

  3. 复制:将对空间分成两部分,一部分创建对象,当这部分空间用完的时候,将标记过的可用对象复制到另一个空间中;

  • 分代垃圾回收的算法本质就是复制的算法。

发布于: 2020 年 12 月 20 日阅读数: 10
用户头像

Arthur

关注

Every Step Counts 2019.12.13 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营 作业9