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

相关推荐
90后小陈老师几秒前
Java项目接入AI大模型的四种方式
java·开发语言·人工智能
wuxuanok几秒前
Go——Swagger API文档访问500
开发语言·后端·golang
hunjinYang6 分钟前
使用嵌入式 Tomcat 创建Java Web应用程序
java·tomcat
Godson_beginner19 分钟前
Elasticsearch 学习笔记
java·大数据·elasticsearch·搜索引擎
2501_9466756423 分钟前
Flutter与OpenHarmony打卡步进器组件
java·javascript·flutter
未来之窗软件服务23 分钟前
幽冥大陆(八十五)Python 水果识别ONNX转手机mobile —东方仙盟练气期
开发语言·python·模型训练·仙盟创梦ide·东方仙盟
莓有烦恼吖26 分钟前
基于AI图像识别与智能推荐的校园食堂评价系统研究 05-审核机制模块
java·服务器·python
开开心心就好27 分钟前
OCR识别工具可加AI接口,快捷键截图翻译便捷
java·网络·windows·随机森林·电脑·excel·推荐算法
CSDN_RTKLIB30 分钟前
【类定义系列六】C++17新特性
开发语言·c++
!停37 分钟前
C语言顺序表
c语言·开发语言