Java每日一练_模拟面试题6(JVM的GC过程)

一、JVM虚拟机组成

JVM 五大内存区域:程序计数器,Java虚拟机栈,本地方法栈,java堆,方法区。

堆被划分为两个区域:年轻代(Young)、老年代(Tenured)。年轻代又被划分为三个区域:Eden、From Survivor、To Survivor。

二、GC过程

GC分为两种:Minor GC(或者叫Young GC),Full GC(或者称为Major GC)。

Minor GC主要是针对Eden区,而Full GC只发生在老年代。接下来介绍一下完整的GC过程:

1、新对象放置到Eden区

2、Eden满了触发MinorGC,蓝色对象转移到From Survivor

3、From Survivor转移到To Survivor,对象年龄+1

4、对象年龄达到15,转移到老年代

三、垃圾收集器对比

在GC过程中,不同的jdk版本、不同的区域会采用不同的收集器算法。

相关推荐
chengxuyuan666663 分钟前
python基础语句整理
java·windows·python
一只会飞的猪_5 分钟前
国密加密golang加密,java解密
java·开发语言·golang
清风-云烟6 分钟前
使用redis-cli命令实现redis crud操作
java·linux·数据库·redis·spring·缓存·1024程序员节
安和昂15 分钟前
effective Objective—C 第三章笔记
java·c语言·笔记
四念处茫茫19 分钟前
【C语言系列】深入理解指针(2)
c语言·开发语言·visual studio
好像是个likun23 分钟前
spring Ioc 容器的简介和Bean之间的关系
java·后端·spring
LucianaiB26 分钟前
C语言之图像文件的属性
c语言·开发语言·microsoft·c语言之图像文件的属性
向着开发进攻26 分钟前
深入理解 Java 并发编程中的锁机制
java·开发语言
CURRY30_HJH31 分钟前
JAVA 使用反射比较对象属性的变化,记录修改日志。使用注解【策略模式】,来进行不同属性枚举值到中英文描述的切换,支持前端国际化。
java·开发语言
千千道33 分钟前
QT 中 UDP 的使用
开发语言·qt·udp