JVM垃圾回收思维导图:一. 基本思想

【JVM】必知必会的 JVM 垃圾回收与算法 1.GC 思维导图 需要xmind文件可以从公众号加我微信。 2.如何确定垃圾 引用计数法 在 Java 中,引用和对象是有关联的。如果要操作对象则必须用引用进行。 因此,很显然一个简单的办法就是通过引用计数来判断一个对象是否可以回收。简单 ... 阅读详情

前言

《JVM垃圾回收思维导图》 系列专题:

  • 整理了JVM垃圾回收的基本思想与实现方式
  • Java版本为JDK11
  • 参考书籍为《深入理解Java虚拟机》2020年第三版

系列分为如下几块:

《JVM垃圾回收思维导图:一. 基本思想》
《JVM垃圾回收思维导图:二. 理论算法》
《JVM垃圾回收思维导图:三. HotSpot垃圾回收算法与实现》

基础知识回顾

  之前我们学习了JVM虚拟机的内存区域,可以知道JVM内部分为几块内存区域,每块内存区域有自己的用处。

具体知识可见:《JVM虚拟机内存区域》

一. JVM垃圾回收基本思想

JVM的内存区域在Java程序运行时,一直发生变化,与CPU等硬件进行着频繁的数据交换与计算。

  • 随着Java程序的运行,这些内存区域可能会出现一些不再有用的内存空间;
  • 内存资源是宝贵的,虚拟机需要释放掉这些无用的内存空间,回收资源,好保证Java程序长久稳定的运行。
    • 准确的辨别哪些区域是没用的内存区域
    • 尽快的回收,回收尽可能的不影响Java服务程序
    • 回收后的资源再利用

二、可以回收的内存空间------垃圾回收的对象+对象“死亡”判定

在这里插入图片描述

三、JVM的引用类型-------标记算法中的回收强度

在JVM中,每个对象不是简单的“引用Y/没有引用N”非此即彼的两种情况,而是细分了以下四种,每种类型都有自己的回收策略:
在这里插入图片描述

四、对象回收流程

在这里插入图片描述

jvm垃圾回收思维导图 圾回收(Garbage Collection)是Java虚拟机(JVM)垃圾回收器提供的一种用于在空闲时间不定时回收无任何对象引用的对象占据的内存空间的一种机制。该思维导图完整的描述了垃圾回收的各个关键点 立即下载

相关推荐

CCSP考后复盘:那些刷题时感觉良好,考场却发懵的题目到底长什么样?

本文深入分析了CCSP考试中常见的题目陷阱和解题策略,揭示了刷题与实战的差距。通过解析换装题、双胞胎选项和场景题等典型题型,帮助考生掌握拆题技巧和思维模式转变,提升应对CCSP考试的能力。

weixin_30485379的博客 436

Java垃圾回收(思维导图)

gjhuai的专栏 305

PyTorch实战:3D U-Net医学图像分割从零搭建(附完整代码)

本文详细介绍了如何使用PyTorch从零搭建3D U-Net模型进行医学图像分割,涵盖三维卷积实现、模块化架构设计、医学图像专属优化策略及完整训练流程。通过实战代码演示,帮助开发者掌握UNet-3D在CT、MRI等三维医学图像分割中的应用,提升肝脏肿瘤分割、肺结节检测等任务的准确性。

weixin_29061997的博客 327

JVM:垃圾回收机制【思维导图】

垃圾回收机制 判断对象不再被使用 p70 可达性分析 从GC Roots向下搜(一组一定活跃的引用) 只要跟「GC Roots」没有直接或者间接引用相连就是垃圾 引用计数 被引用+1,引用失败-1,计数器为0时不再被引用 缺点:若存在:互相依赖(引用)的A、B,引用计数不为0,导致无法回收 垃圾回收算法 标记清除 【标记】哪些没有被「GC Roots」引用的对象 【清除】不被「GC Roots」关联的都清除 存在问题【内存碎片】 标记复制 【标记】 【复制】:把「标记」.

weixin_47866171的博客 1196

深入解析DisplayPort(DP)接口:从主链路到辅助通道的全方位技术剖析

本文深入解析DisplayPort(DP)接口的核心技术架构,重点剖析了其三大功能模块:承载视频/音频数据洪流的Main-Link主链路、负责链路训练与设备控制的AUX CH辅助通道,以及实现智能交互的HPD热插拔检测。文章详细阐述了主链路的可伸缩Lane配置、嵌入式时钟与数据成帧机制,以及辅助通道在设备发现、动态优化信号质量(链路训练)中的关键作用,揭示了DP接口实现高效率与灵活性的设计哲学。

weixin_29267307的博客 482

鸿蒙5应用真机调试超详细教程

本文详细介绍了鸿蒙5应用的真机调试全流程,包括开发环境搭建(安装DevEcoStudio、配置SDK)、真机调试准备(开启USB调试、配置自动/手动签名)、调试实战(生成HAP包、断点调试技巧)以及多设备协同调试方法。文中提供了设备连接、签名配置等常见问题的解决方案,并包含示例代码展示分布式设备联动功能。通过本教程,开发者可快速掌握鸿蒙5应用的调试技能,建议结合官方文档深入学习高级调试技巧。

2301_79392153的博客 2195

JVM垃圾回收思维导图:二. 理论算法

前言 本博客为前一篇文章《JVM垃圾回收一:基本思想------思维导图》的垃圾回收算法具体设计与实现 垃圾回收算法 思维导图大纲 一. 垃圾收集算法 1. 理论(假设)基础 弱分代假说:绝大多数对象都是朝生夕灭的(活的很短) 强分代假说:熬过越多次垃圾收集过程的对象,就越难以消亡 跨代引用相对于同代引用来说,仅占极少数 2. 虚拟机实现 垃圾收集器应该将java堆划分出不同的区域,...

成长之路 720

常说的cache机制到底是什么?L1 cache和 L2 cache是什么?

一文带你迅速了解CPU内的cache机制!!图解多核CPU中的多级cache结构。为何有的处理器没有cache?

车载系统攻城狮 5874

【JVM第十二篇】:Java垃圾回收器(GC)思维导图

hxcaifly的博客 696

Android 15.0 系统开机屏幕设置默认横屏显示

在15.0的系统ROM产品定制化开发中,对于产品需求来说,由于是宽屏设备所以产品需要开机默认横屏显示,开机横屏显示这就需要从 两部分来实现,一部分是系统开机动画横屏显示,另一部分是系统屏幕显示横屏显示,从这两方面就可以做到开机默认横屏显示了

安卓兼职framework和app工程师的博客 716

ESP32与DS18B20温度传感器的数据采集与告警系统

并且,通过自定义的微信告警功能,我们可以及时收到温度超过阈值的告警消息。随着物联网的快速发展,传感器在各种应用场景中发挥着重要的作用。本文将介绍如何使用ESP32微控制器与DS18B20温度传感器结合,通过串口输出和Web服务器实现温度数据的采集和监控,并使用自定义微信告警功能。上传完成后,打开串口监视器,您将看到ESP32连接到Wi-Fi网络,并开始监测温度。在您的计算机或移动设备上,打开一个Web浏览器,并输入ESP32的IP地址。在浏览器中输入ESP32的IP地址后,您将看到显示当前温度的页面。

loop_class349的博客 2239

巨大的JVM知识点思维导图

之前总结过的一份JVM思维导图,分享一下。撑撑博客数量,哈哈。。 图太大了,无法上传,传一份文字版吧。需要图的可以移步 类加载子系统 加载 字节码文件通过加载器CLassLoader加载到内存元空间 ClassLoader BootstrapClassLoader 启动类加载器,顶级类加载器,负责加载JDK核心包rt.jar等,由C编写,所以在java中没有类与之对应,无法获取。...

maybe的博客 486

具身智能(26):RDK S100的LeRobot或Agile X piper机械臂控制模型

本文档详细介绍了基于ROS2的机器人控制模型架构与标定数据联动机制。核心采用"感知-规划-控制"闭环流程,通过激光雷达、相机和IMU的融合数据实现厘米级定位(≤1cm)。文档包含两大控制模型配置:1)RDKLeRobot模型,重点说明PID参数调节和标定文件路径设置;2)AgileXPiper模型,强调驱动安装与外部标定文件集成。针对常见问题提供解决方案,如控制指令无响应需验证标定路径,运动偏差过大需重新标定等。最后给出批量部署方案,通过复制基准配置文件实现多机器人快速配置,要求定位偏差

码农17年的博客 175

【JVM】JVM内存结构+JVM参数配置+GC垃圾回收+OOM内存溢出

1.JVM内存结构 上面是概览图,JVM内存结构大致可以分为线程共有和线程私有两部分: 线程私有: 1,程序计数器:用于存放下一条运行的指令,这里是唯一无内存溢出的区域。如果当前程序正在执行一个Java方法,则程序计数器记录正在执行的Java字节码地址,如果当前线程正在执行一个Native方法,则程序计数器为空。 2,虚拟机栈:虚拟机栈为虚拟机执行Java方法(也就是字节码)服务;虚拟...

aaa_bbb_ccc_123_456的博客 1万+

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

深入理解JVM - 阅读笔记之思维导图 - 目录

深入理解JVM - 阅读笔记之思维导图阅读前须知目录总图 阅读前须知 本博客的主要作用是记录我在阅读《深入理解Java虚拟机》(周志明著)时的一些阅读笔记,此笔记是采用思维导图的形式记录的,较原书而言较为精简,但可能存在一些错误,如果有错误请在评论区指出,我会尽快修改。 在本思维导图中,会看到一个如下图所示的一个小记号,代表笔记/注释,在对应章节的底部我会列出来关于这个笔记/注释的一些具体信息。 ...

timczm的博客 5623

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

JVM详解 --- 垃圾回收机制

由于对象进行了分代处理(便于内存分配与回收),因此垃圾回收区域、时间也不一样。GC有两种类型:Minor GC和Full GC。Minor GC:一般情况下,当新对象生成,并且在Eden申请空间失败时,就会触发Minor GC,对Eden区域进行GC,清除非存活对象,并且把尚且存活的对象移动到Survivor区。然后整理Survivor的两个区。这种方式的GC是对年轻代的Eden区进行,不会影响到年老代。因为大部分对象都是从Eden区开始的,同时Eden区不会分配的很大,所以Eden区的GC会频繁进行。

大师兄你家猴跑啦的博客 2059

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

JVM垃圾回收机制及思维导图

在JVM中,有一个垃圾回收线程,它是低优先级的,在正常情况下是不会执行的,只有在虚拟机空闲或者当前堆内存不足时,才会触发执行,扫描那些没有被任何引用的对象,并将它们添加到要回收的集合中,进行回收。2、标记复制法:按照容量划分二个大小相等的内存区域,当一块用完的时候将活着的对象复制到另一块上,然后再把已使用的内存空间一次清理掉。老年代回收器一般采用的是标记-整理的算法进行垃圾回收。4、分代算法:根据对象存活周期的不同将内存划分为几块,一般是新生代和老年代,新生代基本采用复制算法,老年代采用标记整理算法。

X_islu的博客 954

【JVM】垃圾回收机制|死亡对象的判断算法|垃圾回收算法

本文主要介绍了JVM中的垃圾回收机制,分为两个过程,找到垃圾和回收垃圾

qq_73017178的博客 1277

JVM从跨平台到跨专业 Ⅱ-- 垃圾回收【含思维导图】

本文涉及如何判断对象可以回收、垃圾回收算法、分代垃圾回收、几种常见的垃圾回收器详解、垃圾回收调优等内容。

十八岁讨厌编程的博客 882

JVM默认垃圾回收器有哪些?

通过以上总结,可以清晰了解不同Java版本的默认垃圾回收器及其适用场景。如需进一步调优,建议结合具体应用需求选择回收器并调整参数。—END—

DKPT的博客 1173

JVM垃圾回收触发时机

🔄 一、Minor GC(新生代垃圾回收)Eden区空间不足当新生代的Eden区无法为新对象分配内存时,立即触发Minor GC,回收新生代中的无用对象。这是最常见的触发场景,因新生代空间较小(通常几十到几百MB),对象生命周期短,回收频率高。显式分配担保失败若大对象直接分配到老年代(如超过Survivor空间50%的对象),且老年代空间不足时,会触发Minor GC尝试释放内存。🧪 二、Full GC(全堆垃圾回收)

DKPT的博客 1075

一张思维导图理清【JVM】

【摘要】本文系统介绍了JVM内存模型与垃圾回收机制。内存模型包括程序计数器、虚拟机栈、本地方法栈、堆和方法区等核心组件,详细解析了各区域的功能特性及存储内容。类加载机制涵盖双亲委派模型、加载过程五个阶段及对象创建流程。垃圾回收部分阐述了判断算法(引用计数/可达性分析)、回收算法(标记清除/整理/复制)及主流回收器(CMS/G1)的特点比较,分析了不同GC类型(Minor/Major/Full)的触发条件。全文从内存管理到对象生命周期,完整呈现了JVM的核心运行机制,为性能调优和内存问题排查提供了理论基础。

Muyu1uz的博客 1041

JVM垃圾回收算法之复制(Copying)

一、基本原理二、JVM中的优化实现(Eden与Survivor)三、核心优势四、局限性五、适用场景六、现代演进总结复制算法通过空间换时间的策略,成为新生代垃圾回收的黄金标准。其优化版本(Eden+Survivor)在JVM中广泛使用,但需结合分代收集理论,避免在高存活率场景下性能下降。理解其原理有助于合理配置JVM参数(如),优化应用性能。—END—

DKPT的博客 943

这些不可不知的JVM知识,我都用思维导图整理好了

JVM是面试中必问的部分,本文通过思维导图以面向面试的角度整理JVM中不可不知的知识。

mifffy_java的博客 1061
上一篇: OutOfMemoryError分析-------思维导图
下一篇: JVM垃圾回收思维导图:二. 理论算法
郭Albert
博客等级 码龄14年 110粉丝 57原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郭Albert

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值