【学习笔记】JVM GC回收机制

1.三种基本的垃圾回收算法

1>标记-清除法

①先将从树根开始,可以到达的对象标记为可达(JVM中的对象们存储为一颗树)
②将没有标记的对象清除掉
缺点:会产生大量内存碎片

2>复制算法(新生代)

①先将a区域中的可达对象标记,然后复制到b区,再删除a区全部对象
优点:没有碎片空间,速度快
缺点:浪费大量空间(50%)

3>标记-压缩算法(老年代)

将可达对象标记,清除不可达对象,向左压缩
优点:不浪费空间
缺点:慢

新生代回收方式:
首先新生代分为三个区:eden、s1、s2(8:1:1)
新创建的对象会先入eden,一段时间后进行gc,gc时先将可达的标记,并复制到s1中,然后删除eden中的对象(全部),之后在gc时标记s1与eden中的的可达对象,复制到s2中,删除eden与s1中的全部对象…
【经过多次gc仍然存活的进入老年代;大存储空间对象直接进入老年代】

老年代使用标记-压缩算法:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/919049.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/919049.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

软件的终极:为70亿人编写70亿个不同的软件

这是个脑洞大开的想法。昨天晚上,我在用Claude code帮我写一个小工具,用来管理我本地那些乱七八糟的文档。写着写着,突然意识到一个问题:这个工具完全是按照我的工作习惯定制的——我喜欢用Markdown,习惯把TODO放在文件…

LakeHouse--湖仓一体架构

大家可能发现了,近些年湖仓一体数据架构被提及的频率越来越高。各家大厂也有湖仓一体架构的实践,也有很多公开分享。 那什么是湖仓一体?为什么出现了湖仓一体架构,换言之,它解决了以前数据仓库、数据湖+数仓两层架构所不能解决的什么问题? 本文会从数仓、数据湖依次介绍…

基于FPGA的实时图像处理系统(1)——SDRAM回环测试

SDRAM回环设计 文章目录SDRAM回环设计一、SDRAM简介1、引脚2、内部结构框图3、操作指令二、系统设计三、实现流程1、SDRAM接口2、FIFO设置3、内部SDRAM的控制模块4、其他四、实现效果五、总结六、代码1、top2、sdram_top3、sdram_ctrl一、SDRAM简介 SDRAM英文全称“Synchronou…

一键检测接口是否存活:用 Python/Shell 写个轻量级监控脚本

网罗开发(小红书、快手、视频号同名)大家好,我是 展菲,目前在上市企业从事人工智能项目研发管理工作,平时热衷于分享各种编程领域的软硬技能知识以及前沿技术,包括iOS、前端、Harmony OS、Java、Python等方…

优秀工具包-Hutool工具详解

优秀工具包-Hutool工具详解 课程概述 Hutool简介 定位: 小而全的Java工具库,简化开发流程。对文件、流、加密解密、转码、正则、线程、XML等JDK方法进行封装。 核心优势:零依赖、高性能、中文网页完善。 应用场景:Web开发、数…

《深度解构:构建浏览器端Redis控制台的WebSocket协议核心技术》

Redis作为高性能的内存数据库,其原生客户端多依赖命令行或桌面应用,而浏览器端控制台的缺失,成为制约Web化管理的关键瓶颈,WebSocket协议的出现,打破了HTTP协议单向通信的局限,为浏览器与Redis服务之间建立持久、双向的实时连接提供了可能。本文将从协议本质、交互逻辑、…

Pushgateway安装和部署,以及对应Prometheus调整

目录Pushgateway简介安装验证Prometheus的配置:其它命令Pushgateway简介 Pushgateway 是 Prometheus 生态系统中的一个组件。主要特点是推送而非拉取:Prometheus 默认采用拉取(pull)模式收集指标,但 Pushgateway 允许…

JAVA面试汇总(四)JVM(一)

久违的重新写了一篇面试汇总的,关于JVM的一篇,一共三篇,今天写了第一篇,继续重新学习,重新卷起来,come on baby 1.什么情况下会触发类的初始化? (1)首先是类未被初始化时…

Agent中的memory

rag系列文章目录 文章目录rag系列文章目录前言一、Memory机制作用二、memory分类三、langgraph实践总结前言 众所周知,大模型是无状态的。但是基于大模型的agent一般是有状态的,也就是它有记忆功能。在AI Agent框架中,Memory机制是核心组件之…

AI与IT从业者的未来:替代焦虑还是协作革命?

​​引言:技术渗透与核心命题​​2025年,人工智能技术已从实验室走向产业核心。国务院《关于深入实施“人工智能”行动的意见》推动AI在医疗、制造、金融等领域的规模化落地,全球AI应用用户规模突破2.3亿,生成式AI工具渗透率达16.…

手机版碰一碰发视频系统批量剪辑功能开发,支持OEM贴牌

引言在当今短视频盛行的时代,视频内容的快速生产与分享变得愈发重要。手机版碰一碰发视频系统,借助 NFC 等近场通信技术,实现了便捷的数据交互与视频分享,而在此基础上集成的批量剪辑功能,更是为内容创作者和商家带来了…

Spring AMQP如何通过配置文件避免硬编码实现解耦

在使用Spring AMQP基于注解声明监听者时,可通过抽取常量来避免硬编码:RabbitListener(bindings QueueBinding(exchange Exchange(MQConstant.USER_EXCHANGE),value Queue(MQConstant.USER_QUEUE),key MQConstant.USER_REDIS_BINDING))public void de…

解决zabbix图片中文乱码

要把 Zabbix 前端字体替换为 simkai.ttf(楷体,解决乱码常用),按以下步骤操作:1. 确认 simkai.ttf 路径 先找到系统里 simkai.ttf 字体文件,若没有,可从 Windows 系统(C:\Windows\Fon…

实例分割-动手学计算机视觉13

介绍 实例分割(instance segmentation)的目的是从图像中分割出每个目标实例的掩模(mask)。与语义分割相比,实例分割不但要区分不同的类别,还要区分出同一种类别下的不同目标实例。如图13-1所示 语义分割的结果中,不同的羊对应的标签是一样的…

水环境遥感分析!R语言编程+多源遥感数据预处理;水体指数计算、水深回归分析、水温SVM预测、水质神经网络建模及科研级可视化制图

系统性地整合R语言编程、遥感数据处理及机器学习建模,涵盖水线提取(水体指数与阈值法)、水深反演(多元回归)、水温预测(支持向量机)、水质评估(神经网络)等核心内容&…

微信公众号/小程序百万级OpenID自动化获取工具

摘要 本报告详细阐述了微信用户列表数据获取与处理工具的设计思路,包括分页处理机制、频率控制策略、断点续传功能和分布式存储方案。针对微信API调用限制和用户数据规模特点,该工具旨在高效、安全地获取和存储微信用户列表数据,同时严格遵守微信API调用频率限制,确保系统…

物联网系统中传感器到网关到物联网平台的传输路径、协议、原理、用途与架构详解

摘要物联网(IoT)系统通过传感器、网关和物联网平台实现数据的采集、传输、处理和应用。本文详细分析了传感器到网关再到物联网平台的传输路径,涵盖直接连接、网关中继、边缘计算、多级网关和混合路径五种方式;介绍了短距离&#x…

SpringBoot自动注入配置类初步实现

一.SpringBoot自动装配SpringBoot 的 自动装配(Auto-Configuration) 是它的核心特性之一,它让开发者可以 "开箱即用",避免手动配置大量的 XML 或 Java Config。它的核心思想是:"约定优于配置"&…

直播预告|鸿蒙生态中的AI新玩法

想知道鸿蒙生态里 AI 能玩出啥新花样? 8 月 14 日(周四)20:00 ,「开发者・面对面 坚果派特辑 —— 鸿蒙生态中的 AI 新玩法」直播来袭! 🔍 直播亮点抢先看 AI赋能鸿蒙产品开发:将分享如何利用AI…

智能合约:区块链时代的“数字契约革命”

一、技术原理与核心特征1. 定义与本质智能合约是运行在区块链上的自动化程序,通过代码定义业务规则,在预设条件满足时自动执行操作(如资金转移、信息更新),无需人工干预。其核心特性包括:自动执行&#xff…