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版本、不同的区域会采用不同的收集器算法。

相关推荐
笨蛋不要掉眼泪5 小时前
Java虚拟机:堆的参数配置
java·开发语言·jvm
霸道流氓气质5 小时前
SpringBoot中使用JasperReports 报表引擎 — 介绍、原理与使用实践
java·spring boot·后端
冰暮流星5 小时前
javascript之date对象
开发语言·javascript·ecmascript
花生了什么事o6 小时前
DDD 分层架构:六层分层架构
java·架构·ddd
Y3815326626 小时前
3 种 SERP 数据处理方案对比:流式 / 批处理 / 缓存
java·spring·缓存
Wang's Blog6 小时前
Go-Zero项目开发17: IM私聊功能实现与消息存储设计
开发语言·后端·golang
Ulyanov6 小时前
Python雷达电子对抗仿真引擎(一):打破单体瓶颈,构建微服务与ECS架构的顶层设计
开发语言·python·微服务·云原生·架构·雷达电子对抗
IT方大同6 小时前
C语言分支与循环语句
c语言·开发语言·算法
qq_150841996 小时前
SQL的insert和update二合一指令
java·数据库·sql
2601_964702896 小时前
Claude Opus 5 API 开发实战:对话、文本生成与结构化输出
java·服务器·前端