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

相关推荐
caimouse14 分钟前
ReactOS 图形系统分析(51):元文件子系统 — metafile.c
c语言·开发语言
码匠许师傅25 分钟前
【C++ 面试真题】24. 聊聊 C++ 的时间日期处理
java·c++·面试
学习星球1 小时前
Solid.js 实战:拆解官方 RealWorld 项目
开发语言·javascript·vue.js
OPEN-F1 小时前
Python进阶教程:正则表达式进阶与文本处理
开发语言·python·正则表达式
mqiqe1 小时前
AgentScope Java 2.0 Agent 状态存储(AgentStateStore)深度解析:构建可恢复、可扩展的智能体运行时
java·运维·网络
zhifou1234561 小时前
java 17升级安装
java·开发语言
用户3721574261351 小时前
如何使用 Java 将 Markdown 转换为 PDF(含自定义设置)
java
for_ever_love__1 小时前
python基础语法学习: 面向对象的三大特性
开发语言·python·学习
不会代码的小猴2 小时前
7. JSON
开发语言·c++·笔记·qt·算法·json
用户3721574261352 小时前
如何使用 Java 在 Word 文档中添加和删除水印:分步指南
java