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

相关推荐
Dev7z3 分钟前
基于MATLAB图像处理的苹果品质自动分级系统设计与实现
开发语言·图像处理·matlab
源代码•宸8 分钟前
Golang基础语法(go语言指针、go语言方法、go语言接口、go语言断言)
开发语言·经验分享·后端·golang·接口·指针·方法
Bony-9 分钟前
Golang 常用工具
开发语言·后端·golang
Paul_09209 分钟前
golang编程题
开发语言·算法·golang
csbysj202010 分钟前
Go 语言变量作用域
开发语言
pyniu10 分钟前
Spring Boot车辆管理系统实战开发
java·spring boot·后端
虾说羊11 分钟前
ssm项目本地部署
java·tomcat
资生算法程序员_畅想家_剑魔11 分钟前
Kotlin常见技术分享-01-相对于Java 的核心优势-空安全
java·安全·kotlin
牛奔12 分钟前
GVM:Go 版本管理器安装与使用指南
开发语言·后端·golang