gc

CSharp精选营5 天前
.net·面试题·gc·c#面试题
.NET 面试必问的 8 道 GC 题,建议收藏大家好,我是码农刚子。这篇文章整理了 .NET 面试中出现频率最高的 8 道 GC 题。不是背答案——是帮你把 GC 的底层逻辑串一遍,面试时不管怎么追问都能接得住。
淡海水6 天前
算法·unity·c#·游戏引擎·.net·gc
02-02-原理篇-分代GC篇章:02-原理篇 阅读时间:约 35 分钟 前置知识:了解 Mark-Sweep 算法在上一章中,我们分析了 Mark-Sweep、Mark-Compact 和 Copying 三种基础 GC 算法。一个关键结论是:Copying 算法在存活率低时效率极高,而 Mark-Compact 在存活率高时更合适。 那么问题来了——能否让不同区域的对象使用不同的算法,各取所长?
淡海水7 天前
unity·c#·游戏引擎·.net·gc
02-03-原理篇-大对象堆篇章:02-原理篇 阅读时间:约 30 分钟 前置知识:了解分代 GC在 .NET 的分代 GC 体系中,有一个特殊的存在——大对象堆(Large Object Heap,简称 LOH)。它不遵循常规的分代规则,却对应用性能有着深远影响。许多 .NET 开发者都曾遇到过 LOH 碎片化导致的 OutOfMemoryException,而 Unity 开发者在使用 IL2CPP 后端时也会间接受到 LOH 机制的影响。
淡海水7 天前
算法·unity·c#·游戏引擎·.net·gc
02-01-原理篇-Mark-Sweep与变种算法篇章:02-原理篇 阅读时间:约 40 分钟 前置知识:了解 GC 基本概念垃圾回收(Garbage Collection,简称 GC)的核心使命可以归结为一个问题:如何自动识别并回收不再被程序使用的内存? 在数十年的 GC 发展史中,最基础也最经典的算法家族就是 Mark-Sweep(标记-清扫) 及其变种。
淡海水9 天前
unity·c#·游戏引擎·.net·gc
01-04-认知篇-Unity内存全景篇章:01-认知篇 阅读时间:约 35 分钟 前置知识:了解 Unity 基本架构在深入讨论 GC 之前,我们必须先建立一个完整的"内存地图"。很多开发者在分析 GC 问题时,之所以会得出错误的归因结论,根本原因在于他们只看到了内存的一个切面——通常是托管堆(Managed Heap),却忽略了 Unity 引擎中还有原生内存、引擎内部分配以及 GPU 显存这三个同样重要的层面。GC 只负责管理托管堆,但性能问题往往发生在四层内存的交互边界上。
淡海水9 天前
unity·c#·游戏引擎·.net·gc
01-03-认知篇-C#内存模型深度解析篇章:01-认知篇 | 阅读时间:约 40 分钟 | 前置知识:了解 C# 基本语法GC 管理的对象在 C# 的托管堆上分配。但并非所有数据都在托管堆上——值类型可以在栈上分配,引用类型的引用在栈上但对象在堆上。理解 C# 内存模型的每个细节,是准确分析 GC 行为的前提。
淡海水11 天前
unity·c#·游戏引擎·gc
00-Unity和C#的GC剖析与对比-全篇导览系列总览:103 篇文章 · 16 个篇章 · 16 个主题文件夹 定位:从认知到源码,从原理到实战的 GC 技术百科全书 目标读者:Unity 游戏开发者、C# 后端开发者、性能优化工程师、技术面试准备者
凤山老林17 天前
jvm·spring boot·gc·堆内存
Spring Boot 应用 JVM 性能调优实战:GC 日志分析、堆内存规划与容器环境避坑做 Java 服务端开发的,基本都逃不过和 JVM 打交道。尤其 Spring Boot 应用跑在 K8s 里,堆怎么给、GC 日志怎么调、容器内存限制怎么匹配,处处是坑。这里分享一次实战调优过程,顺带把一些基础概念串起来。
Mr. zhihao1 个月前
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. zhihao1 个月前
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
淡海水2 个月前
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 与平台原生资源分别讨论
淡海水2 个月前
jvm·windows·unity·gc
01-07-运行时-GC深度剖析-内存分配回收与结构选择系列:C#与常用数据结构源码剖析 · 运行时底层剖析 阅读时间:约 50 分钟 前置知识:值类型与引用类型、托管堆概念
CodeStats2 个月前
java·jvm·gc·垃圾回收·zgc·内存结构
【Java GC】Java JVM 垃圾回收(GC)完全指南:从内存结构到并发回收的底层原理大家好,我是 CodeStats。一个在底层技术上“考古”了四年的硬核爱好者,也是 WWAIC(全周项目AI编程) 范式的提出者和实践者。我曾手写过一个完整的 Java Web 框架(从 IoC 容器到嵌入式 Tomcat,代码全开源),也喜欢用通俗的语言拆解 CPU、JVM、操作系统的运行本质。
pixcarp3 个月前
后端·学习·golang·内存管理·gc·gmp
GMP调度模型和GC垃圾回收机制解析目录前言:1. GMP调度模型2. Go的内存管理3. GC垃圾回收机制4. 总结Go语言在处理并发问题上相比较其他语言具有优势,这背后离不开go runtime的运行机制。Go 并没有绕开操作系统,代码程序最终仍要借助操作系统线程在CPU上执行,内存也仍然来自操作系统。Go是在语言代码与操作系统之间增加一层runtime,由它统一管理并发任务和内存生命周期。本文针对Go 运行时如何管理 goroutine和内存为主线,给大家讲解一下go语言的GMP 调度模型与 GC 垃圾回收等核心机制。
阿pin3 个月前
java·开发语言·jvm·gc
Java随笔-GC收集器工作机制单核 CPU、客户端模式(Client VM)、内存较小(< 100MB)STW 开始 ├─ 单线程标记 Eden + From Survivor 中的存活对象 ├─ 单线程复制存活对象到 To Survivor ├─ 清空 Eden + From Survivor ├─ From/To 交换角色 └─ 年龄达标(默认15)→ 晋升老年代 STW 结束
hez20103 个月前
c#·.net·.net core·gc·clr
在 .NET 上构建超大托管数组这些年经常看到有人抱怨 .NET 数组的最大长度。在 .NET 里,数组、集合、Span 以及很多相关 API 都是围绕 32 位长度和索引设计的。GitHub 上曾经有一个很长的 issue 讨论 64 位数组支持,但最后以 "won't fix" 关闭,因为这件事会牵涉到运行时、GC、JIT、类型系统、反射以及大量现有代码。
fengxin_rou4 个月前
java·jvm·性能优化·gc·垃圾回收
Java垃圾回收机制深度解析:从原理到实战🔥你好我是fengxin_rou这是我的个人主页fengxin_rou的主页❄️欢迎查看我的专栏我的专栏
huohaiyu4 个月前
java·开发语言·算法·gc
深入解析Java垃圾回收机制目录一、什么是垃圾回收二、为什么需要垃圾回收三、Java堆内存结构与分代模型1、新生代(Eden区+Survivor区)
切糕师学AI6 个月前
.net·gc·clr
.NET CLR GC 调优完全指南:从理论到生产实战一份系统性的 .NET 垃圾回收调优手册,涵盖内存模型、模式选型、参数配置、诊断工具及真实案例。.NET 的垃圾回收(Garbage Collection, GC)是 CLR(Common Language Runtime)的核心组件之一,它自动管理托管内存,让开发者能够专注于业务逻辑而非手动释放内存。然而,GC 的“自动”并不意味着“免费”——不合理的内存使用模式会导致频繁的 GC 停顿、内存泄漏,甚至 OutOfMemoryException。
小Y._6 个月前
java·jvm·性能调优·gc
JVM垃圾回收算法与调优实战Java的自动内存管理是Java语言最核心的优势之一,而垃圾回收(Garbage Collection,GC)机制则是自动内存管理的核心。理解JVM的垃圾回收机制,对于编写高性能Java应用、排查线上问题至关重要。本文将全面解析JVM的内存模型、垃圾回收算法以及调优实战技巧。