写点什么

第九周作业

用户头像
MR.X
关注
发布于: 2021 年 03 月 16 日

1,请简述 JVM 垃圾回收原理

答:java 虚拟机在运行过程中,对在堆内存的 Java 进程进行内存回收,回收的对象是那些已经没有引用,或已经使用过,不会再被重新使用的变量资源,以便能更好的利用计算机资源,为其他进程、服务提供运行的资源;

堆内存分为:年轻代、老年代

年轻代又分为:伊甸园区、from 区、to 区

在伊甸园区 主要是进行 youngGc,之后没有被回收的垃圾会进入 from 区,然后会再次进入 to 区,经过多次在 from 区与 to 区的循环回收后,还没有被回收的会进入 老年代区,

老年代主要是进行 fullGC,当进入老年代后,会进行 15 次回收标识,如果还没有被回收,就会进行 FullGc,此时 jvm 会出现 Stop to work 现象

2.jvm 垃圾回收主要是分为:标记-清除 垃圾回收机制、复制垃圾回收机制

标记-清除算法:简单来说就是对堆内存信息,从 root 根节点开始往下进行查找,把那些依然被引用的标识出来,直到最后的节点,把那些未被标识的清除掉;

复制算法:主要是把内存块分为多块,把正在使用的内存块统一复制到另外一个可使用的内存区域,统一放在一起,之后把那些分散的内存块,不活跃的内存块,清除掉,这样就可以把垃圾清除掉,不至于出现很多碎片,碎片太小,很难利用;


用户头像

MR.X

关注

还未添加个人签名 2020.12.01 加入

还未添加个人简介

评论

发布
暂无评论
第九周作业