JVM 分代垃圾回收过程

这篇具有很好参考价值的文章主要介绍了JVM 分代垃圾回收过程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

堆空间划分了代:
JVM 分代垃圾回收过程,jvm,jvm,java
年轻代(Young Generation)分为 eden 和 Survivor 两个区,Survivor 又分为2个均等的区,S0 和 S1。
首先,新对象都分配到年轻代的 eden 空间,Survivor 刚开始是空的。
JVM 分代垃圾回收过程,jvm,jvm,java
当 eden 满了以后,minor gc 就被触发了。
JVM 分代垃圾回收过程,jvm,jvm,java
还被引用的对象被移到第一个 survivor 空间,然后把整个 eden 空间都清理掉。
JVM 分代垃圾回收过程,jvm,jvm,java
下一次 minor gc 时还是同样的过程,把 eden 中还被引用的对象移到 survivor 空间,然后清除 eden 空间,只是这次是移到第二个 survivor(S1),同时,把上次 minor gc 移到 S0 中的对象也移到 S1,并增加这些对象的年龄,移到 S1 之后,S0 也被清理掉,这时,eden 和 S0 都干净了。
JVM 分代垃圾回收过程,jvm,jvm,java
下一次 minor gc 同理,只是这次换为了 S0,eden 和 S1 都干净了。
JVM 分代垃圾回收过程,jvm,jvm,java
这个过程不断重复,这样 survivor 中对象的年龄会一直增长,当达到一定程度(例如8),这个对象就从年轻代转移到了老年代。
JVM 分代垃圾回收过程,jvm,jvm,java
这样,老年代中的对象就持续增加。
JVM 分代垃圾回收过程,jvm,jvm,java
最后就会触发 major gc 对老年代空间进行清理和压缩。
JVM 分代垃圾回收过程,jvm,jvm,java文章来源地址https://www.toymoban.com/news/detail-740951.html

到了这里,关于JVM 分代垃圾回收过程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【JVM】JVM中的分代回收

    什么是分代 在java8时,堆被分为了两份: 新生代和老年代 【1:2】 其中: 对于 新生代 ,内部又被分为了 三个区域。 伊甸园区Eden ,新生的对象都分配到这里 幸存者区survivor (分成from和to) Eden区,from区,to区【8:1:1】 分代收集算法-工作机制 新 创建的 对象 ,都会先 分配

    2024年02月13日
    浏览(39)
  • 了解 JVM - 认识垃圾回收机制与类加载过程

    本篇通过介绍JVM是什么,认识JVM的内存区域的划分,了解类加载过程,JVM中垃圾回收机制,从中了解到垃圾回收机制中如何找到存活对象的方式,引用计数与可达性分析的方式,再释放垃圾对象时使用的方式,标准清除,复制算法,标准整理,分代回收等等,如有错误,请在

    2024年02月16日
    浏览(40)
  • 【Java JVM】垃圾回收

    当前大部分的垃圾收集器都遵循着 “分代收集” (Generational Collection) 的理论进行设计的, 建立在 2 个分代假设之上 弱分代假说 (Weak Generational Hypothesis): 绝大多数对象都是朝生夕灭的 强分代假说 (Strong Generational Hypothesis): 熬过越多次垃圾收集过程的对象就越难以消亡 根据这

    2024年03月14日
    浏览(46)
  • 3.Java面试题—JVM基础、内存管理、垃圾回收、JVM 调优

    一篇文章掌握整个JVM,JVM超详细解析!!! JVM (Java虚拟机) 是运行 Java 字节码 的 虚拟机 。 JVM 针对 不同系统 有 特定实现 ( Windows 、 Linux 等),目的是 同样的代码 在 不同平台 能运行出 相同的结果 。 Java 语言 要经过 编译 和 解释 两个步骤: 编译 :通过 编译器 将 代码 一

    2024年02月15日
    浏览(50)
  • 【Java】图解 JVM 垃圾回收(一):GC 判断策略、引用类型、垃圾回收算法

    垃圾 是指运行程序中 没有任何引用指向的对象 ,需要被回收。 内存溢出 :经过垃圾回收之后,内存仍旧无法存储新创建的对象,内存不够溢出。 内存泄漏 :又叫 “ 存储泄漏 ”,对象不会再被程序使用了,但是 GC 又不能回收它们。例如:IO 流不适用了但是没有被 Close、

    2024年02月19日
    浏览(50)
  • Java虚拟机(JVM)、垃圾回收器

    JRE(Java Runtime Environment,运行环境) 所有的程序都要在JRE下才能够运行。包括JVM和Java核心类库和支持文件。 JDK(Java Development Kit,开发工具包) 用来编译、调试Java程序的开发工具包。包括Java工具(javac/java/jdb等)和Java基础的类库(java API )。 JVM(Java Virtual Machine,虚拟机) JRE的一部分,

    2024年02月12日
    浏览(49)
  • java八股文面试[JVM]——垃圾回收

    参考:JVM学习笔记(一)_卷心菜不卷Iris的博客-CSDN博客 GC垃圾回收 面试题: JVM内存模型 以及分区,需要详细到每个区放什么 堆里面的分区:Eden,survival from to,老年代,各自的特点。 GC的三种收集方法:标记清除、标记整理、复制算法的原理与特点,分别用在什么地方 针

    2024年02月11日
    浏览(48)
  • 【Java虚拟机】JVM垃圾回收机制和常见回收算法原理

    1.垃圾回收机制 (1)什么是垃圾回收机制(Garbage Collection, 简称GC) 指自动管理动态分配的内存空间的机制,自动回收不再使用的内存,以避免内存泄漏和内存溢出的问题 最早是在1960年代提出的,程序员需要手动管理内存的分配和释放 这往往会导致内存泄漏和内存溢出等问

    2024年02月02日
    浏览(54)
  • java八股文面试[JVM]——垃圾回收器

    jvm结构总结   常见的垃圾回收器有哪些?     CMS(Concurrent Mark Sweep) 整堆收集器 : G1 由于整个过程中 耗时最长 的 并发标记 和 并发清除 过程中,收集器线程都可以与用户线程一起工作,所以 总体上来说 ,CMS收集器的内存回收过程是与用户线程一起并发地执行。老年代收

    2024年02月11日
    浏览(47)
  • [AIGC] 深入理解 Java 虚拟机(JVM)的垃圾回收

    一、是什么 Java 虚拟机(JVM)的垃圾回收(Garbage Collection)是一种自动内存管理机制,用于释放不再使用的对象所占用的内存空间。垃圾回收的目标是回收那些不再被程序引用的对象,以避免内存泄漏和内存溢出等问题。 二、为什么需要垃圾回收 在 Java 程序中,对象的创建

    2024年02月21日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包