gc

Mr. zhihao2 天前
java·jvm·gc
死锁排查实战:JVM 唯一会“自动报案“的问题(场景 B5)环境:CentOS 7 / JDK 17 / 4 核 8G 演示程序:jvm-tuning-demo(SlowResponseDemo deadlock 场景:两线程交叉持锁) 系列:CPU 100% / 锁竞争 / 频繁 Young GC / 切换风暴 / 下游慢 / 池耗尽 关键词:Found one Java-level deadlock、循环等待、持锁顺序、tryLock
Mr. zhihao2 天前
jvm·gc·oom·mat·visulvm
OOM 排查实战(大结局):从老年代爬坡到 VisualVM 引用链实锤(场景 B4)环境:CentOS 7 / JDK 17(G1)/ 分析工具 VisualVM 2.1.9(macOS) 演示程序:jvm-tuning-demo(HeapOOM 场景:static List 每秒囤 10MB,永不释放) 系列:CPU 100% / 锁竞争 / 频繁 Young GC / 切换风暴 / 下游慢 / 池耗尽 / 死锁 关键词:老年代单边爬坡、jmap -histo、HeapDumpOnOutOfMemoryError、引用链、GC Root
淡海水7 天前
c#·编译·gc·机器码
02-06-历史-托管GC机制-垃圾回收如何影响数据结构选择定位:从分配、生命周期、可达图和峰值出发,选择集合与缓存;GC 内部算法详见 01-07 CoreCLR 基线:C# 12、.NET 8、dotnet/runtime v8.0.0 Unity 基线:Unity 2022.3 LTS;Mono、IL2CPP、托管 GC 与平台原生资源分别讨论
淡海水12 天前
jvm·windows·unity·gc
01-07-运行时-GC深度剖析-内存分配回收与结构选择系列:C#与常用数据结构源码剖析 · 运行时底层剖析 阅读时间:约 50 分钟 前置知识:值类型与引用类型、托管堆概念
CodeStats1 个月前
java·jvm·gc·垃圾回收·zgc·内存结构
【Java GC】Java JVM 垃圾回收(GC)完全指南:从内存结构到并发回收的底层原理大家好,我是 CodeStats。一个在底层技术上“考古”了四年的硬核爱好者,也是 WWAIC(全周项目AI编程) 范式的提出者和实践者。我曾手写过一个完整的 Java Web 框架(从 IoC 容器到嵌入式 Tomcat,代码全开源),也喜欢用通俗的语言拆解 CPU、JVM、操作系统的运行本质。
pixcarp1 个月前
后端·学习·golang·内存管理·gc·gmp
GMP调度模型和GC垃圾回收机制解析目录前言:1. GMP调度模型2. Go的内存管理3. GC垃圾回收机制4. 总结Go语言在处理并发问题上相比较其他语言具有优势,这背后离不开go runtime的运行机制。Go 并没有绕开操作系统,代码程序最终仍要借助操作系统线程在CPU上执行,内存也仍然来自操作系统。Go是在语言代码与操作系统之间增加一层runtime,由它统一管理并发任务和内存生命周期。本文针对Go 运行时如何管理 goroutine和内存为主线,给大家讲解一下go语言的GMP 调度模型与 GC 垃圾回收等核心机制。
阿pin2 个月前
java·开发语言·jvm·gc
Java随笔-GC收集器工作机制单核 CPU、客户端模式(Client VM)、内存较小(< 100MB)STW 开始 ├─ 单线程标记 Eden + From Survivor 中的存活对象 ├─ 单线程复制存活对象到 To Survivor ├─ 清空 Eden + From Survivor ├─ From/To 交换角色 └─ 年龄达标(默认15)→ 晋升老年代 STW 结束
hez20102 个月前
c#·.net·.net core·gc·clr
在 .NET 上构建超大托管数组这些年经常看到有人抱怨 .NET 数组的最大长度。在 .NET 里,数组、集合、Span 以及很多相关 API 都是围绕 32 位长度和索引设计的。GitHub 上曾经有一个很长的 issue 讨论 64 位数组支持,但最后以 "won't fix" 关闭,因为这件事会牵涉到运行时、GC、JIT、类型系统、反射以及大量现有代码。
fengxin_rou3 个月前
java·jvm·性能优化·gc·垃圾回收
Java垃圾回收机制深度解析:从原理到实战🔥你好我是fengxin_rou这是我的个人主页fengxin_rou的主页❄️欢迎查看我的专栏我的专栏
huohaiyu3 个月前
java·开发语言·算法·gc
深入解析Java垃圾回收机制目录一、什么是垃圾回收二、为什么需要垃圾回收三、Java堆内存结构与分代模型1、新生代(Eden区+Survivor区)
切糕师学AI4 个月前
.net·gc·clr
.NET CLR GC 调优完全指南:从理论到生产实战一份系统性的 .NET 垃圾回收调优手册,涵盖内存模型、模式选型、参数配置、诊断工具及真实案例。.NET 的垃圾回收(Garbage Collection, GC)是 CLR(Common Language Runtime)的核心组件之一,它自动管理托管内存,让开发者能够专注于业务逻辑而非手动释放内存。然而,GC 的“自动”并不意味着“免费”——不合理的内存使用模式会导致频繁的 GC 停顿、内存泄漏,甚至 OutOfMemoryException。
小Y._4 个月前
java·jvm·性能调优·gc
JVM垃圾回收算法与调优实战Java的自动内存管理是Java语言最核心的优势之一,而垃圾回收(Garbage Collection,GC)机制则是自动内存管理的核心。理解JVM的垃圾回收机制,对于编写高性能Java应用、排查线上问题至关重要。本文将全面解析JVM的内存模型、垃圾回收算法以及调优实战技巧。
切糕师学AI4 个月前
jvm·gc
JVM GC 调优完全指南:从理论到生产实战一份系统性的 Java 垃圾回收调优手册,涵盖内存模型、回收器选型、参数调优、工具使用及真实案例。Java 虚拟机(JVM)的垃圾回收(GC)机制自动管理内存,让开发者从手动释放内存的繁琐工作中解脱出来。然而,“自动”并不意味着“免费”。不合理的 GC 行为会导致频繁的 Stop-The-World (STW) 停顿,使应用响应变慢、吞吐量下降,甚至引发内存溢出(OOM)。
ん贤4 个月前
算法·go·gc·垃圾回收
Go GC垃圾回收机制常用的GC回收机制主要分追踪法、引用计数法这两大类。 引用计数法,就是每次被引用就加一,被取消引用就减一,当为零时,就可以清除掉。 Python就主要用的是引用计数法,优点是快,且方便。但缺点是,两个指针相互引用时,就会发生内存泄露。 而追踪法是从根Root节点开始,遍历所有存活的对象,没被遍历到的就是可以清除掉的。而 GO 语言使用的就是标记追踪法。
ん贤5 个月前
开发语言·后端·golang·性能调优·gc
Go GC 非玄学,而是 CPU 和内存的权衡本博客内容基于 Go 官方 GC 指南与官方文档进行创作(Go): 官方把(Go)文章《A Guide to the Go Garbage Collector》,定位成一篇性能认知 + 调优指南文档。 若你熟悉 Go 基础语法,只是想要更好的服务自己的项目, 那本篇文章就是为你量身定做的( •̀ ω •́ )✧。 本篇文章会带你逐个打破 GC、GOGC、GOMEMLIMIT、heap、mark-sweep 这些术语的梦魇。 并把 Go GC 这件事,用清晰易懂的方式讲明白。
yueqc15 个月前
jvm·gc·g1
垃圾回收器(二):G1YGC流程:混合回收:
cur1es6 个月前
java·jvm·gc·垃圾回收·类加载·双亲委派模型
【JVM类加载&双亲委派模型&垃圾回收机制】关于引用计数的循环引用问题,和线程死锁的原理类似 点击跳转👉🏻什么是线程死锁
hez20106 个月前
c#·.net·.net core·gc·clr
Satori GC:同时做到高吞吐、低延时和低内存占用GC 的设计里一直有一个很难绕开的矛盾:高吞吐、低延时、低内存占用,通常很难同时做到。传统做法里,想要更短的停顿,往往要把更多工作搬到并发阶段,甚至让平时的对象访问承担更高成本;想要更高的吞吐量,又往往意味着平时路径成本必须足够低,于是更多工作会堆到回收阶段;想要更低的内存占用,则又需要更积极地回收、整理和归还内存。
weisian1516 个月前
java·jvm·jar·gc
JVM--10-JVM实战部署全指南:从`java -jar`到生产级高可用作者:Weisian 发布时间:2026年2月10日你是否也曾这样启动过 Java 应用?简单、直接、无需思考。在开发或测试环境,这完全够用。
洛豳枭薰7 个月前
jvm·gc
线上 Full GC 故障模拟演练目标 模拟一个“内存泄漏导致频繁 Full GC”的场景,并完成从发现、定位到取证的全过程。 环境配置:4GB 堆内存,G1 垃圾回收器。 故障现象:CPU 飙高,应用响应卡顿,GC 日志疯狂刷屏,但进程未崩溃(假死)。