技术栈
gc
波波007
12 小时前
算法
·
.net
·
gc
每日一题:.NET 的 GC是如何分代工作的?
.NET 的 GC(垃圾回收)是如何分代工作的?什么是 LOH(大对象堆)?为什么频繁分配大对象会导致性能问题?生产中如何规避? 参考答案: .NET 的 GC 采用分代回收机制,将托管对象按生命周期分为 Gen0、Gen1、Gen2。Gen0 主要存放短生命周期对象,回收频繁但代价低;对象多次存活后会晋升到 Gen1、Gen2,回收次数少但成本高。 LOH(Large Object Heap)用于存放大于等于约 85KB 的对象,这类对象不会进入 Gen0,而是直接分配到 LOH。传统 GC 对 LOH
Serene_Dream
1 天前
java
·
jvm
·
面试
·
gc
Java 垃圾收集器
说实话,开源社区里面有很多人都在讲: 可达性算法中 JVM 会进行两次标记,第一次会标记所有对象,并找到继承实现了 finalize() 方法的对象,并查看该对象是否存在“自救”,这些内容都与《深入理解 Java 虚拟机》(后文简称为 ‘书’)中 3.2.4 生存还是死亡?这一小节存在出入,或者说几乎所有的博客都是通过阅读这一小节然后得到令人一知半解的回答,整个逻辑有点混乱,前后不搭,所有我打算总结一下
蜂蜜黄油呀土豆
9 天前
java
·
jvm
·
性能优化
·
gc
·
垃圾回收
Java虚拟机垃圾回收机制解析
垃圾回收(Garbage Collection,GC)是Java虚拟机(JVM)中非常重要的一部分,它负责自动管理内存,回收不再使用的对象,确保内存不会被浪费。通过垃圾回收,JVM可以避免手动管理内存的复杂性,减少内存泄漏和溢出的风险。本文将详细介绍Java虚拟机中的垃圾回收机制,包括垃圾回收的触发方式、垃圾回收算法以及常见的垃圾回收器。
尽兴-
11 天前
jvm
·
gc
·
zgc
·
g1
·
垃圾收集器java
JVM垃圾收集器深度解析:G1与ZGC
在 Java 应用性能优化中,垃圾收集器的选择与调优是关键环节。随着应用规模的扩大和对响应时间要求的提高,传统的垃圾收集器(如 CMS)已难以满足现代应用的需求。G1 和 ZGC 作为现代垃圾收集器的代表,提供了更优的性能和更低的停顿时间。本文将深入解析 G1 和 ZGC 的工作原理、特性、参数优化及适用场景。
尽兴-
13 天前
java
·
jvm
·
算法
·
cms
·
gc
·
g1
·
三色标记算法
JVM垃圾收集器与三色标记算法详解
在Java 应用性能优化中,垃圾收集器的选择与调优是关键环节。特别是对于高并发、低延迟的应用,选择合适的垃圾收集器并合理配置参数,能显著提升系统性能。本文将深入解析垃圾收集器,特别是 ParNew 和 CMS 收集器,以及底层的三色标记算法。
尽兴-
17 天前
jvm
·
cms
·
gc
·
垃圾回收
·
zgc
·
g1 垃圾收集器
JVM垃圾回收核心知识体系
在 Java 应用性能瓶颈中,垃圾回收(GC)往往是"隐形杀手"。当应用出现频繁停顿、内存泄漏或响应延迟时,90% 的问题根源都与 GC 相关。本文将通过真实项目案例,带你从 GC 原理到调优实战,彻底掌握这一核心技能。
加油2019
21 天前
golang
·
内存管理
·
gc
·
内存逃逸
GO语言内存逃逸和GC机制
Go语言虽然语法上类似C语言,但是也是一种“高级语言”,有一套内存管理系统,不需要向C语言去动态malloc/free堆内存,而是语言编译时根据具体使用情况来决定使用栈还是使用堆,堆内存也不需要程序员手动free内存,后台有一套gc机制,根据内存对象的生命周期(引用关系)决定是否回收内存。Go语言默认使用栈内存,在一些特定的情况会内存逃逸使用堆内存,本文会重点介绍内存逃逸以及GC机制。
七夜zippoe
22 天前
开发语言
·
python
·
gc
·
分代回收
·
内存池
Python内存管理深潜:从引用计数到GC机制的全面优化实战
目录摘要1 引言:为什么Python内存管理值得深入探究1.1 Python内存管理的独特挑战1.2 Python内存管理架构全景
zfj321
1 个月前
java
·
开发语言
·
jvm
·
gc
·
垃圾收集器
java垃圾收集 minorgc majargc fullgc
这三种 GC 类型的本质区别在于回收的堆内存区域和触发原因。触发时机:当 JVM 无法在 Eden 区为新创建的对象分配内存时,便会触发一次 Minor GC。
小毅&Nora
1 个月前
java
·
jvm
·
gc
【后端】【JAVA】JDK 21与JDK 7 JVM结构及GC算法深度解析:从永久代到元空间,从CMS到ZGC的演进
想象一下,你有一辆汽车,它需要定期保养才能跑得更远、更稳。JVM就是Java程序的"汽车",而GC(垃圾回收)则是它的"发动机保养系统"。JDK 7和JDK 21就像这辆汽车的两个不同版本——一个用的是老式发动机,一个用的是最新科技。
没有bug.的程序员
2 个月前
java
·
jvm
·
微服务
·
架构
·
wpf
·
日志
·
gc
SOA、微服务、分布式系统的区别与联系
SOA→微服务→现代分布式系统演进图谱:SOA与微服务的七大范式差异:SOA七大历史包袱及其影响:微服务四重轻量化设计:
没有bug.的程序员
2 个月前
java
·
jvm
·
安全
·
gc
·
gc调优
JVM 安全与沙箱深度解析
JVM安全模型四层架构:字节码验证四阶段流程:多级ClassLoader安全隔离:JVM攻击类型与防护矩阵:
没有bug.的程序员
2 个月前
java
·
jvm
·
测试工具
·
aot
·
gc
·
gc调优
·
graalvm native
AOT 与 GraalVM Native Image 深度解析
AOT与JIT编译对比:GraalVM Native Image编译流程:Native Image vs 传统JVM性能对比:
没有bug.的程序员
2 个月前
java
·
jvm
·
云原生
·
日志
·
gc
·
jit
云原生 + JIT:冷启动与预热优化
云原生JIT编译面临的三大挑战:JIT编译时间分解:云原生预热策略对比:生产环境预热经验总结:Serverless环境JIT优化方案:
没有bug.的程序员
2 个月前
java
·
jvm
·
测试工具
·
gc
·
gc调优
GC 调优实战:从慢到快的真实案例
案例背景:某电商系统在双11大促期间,出现频繁Full GC,最大停顿时间达到3.5秒,严重影响用户体验。
没有bug.的程序员
2 个月前
java
·
网络
·
jvm
·
spring
·
日志
·
gc
GC日志解析:从日志看全流程
完整的GC日志配置参数:G1 GC日志示例分析:日志格式解析:Young GC完整日志示例:Young GC关键指标提取:
切糕师学AI
2 个月前
c#
·
gc
·
垃圾回收
·
ef
C# 如何回收整个 EF(DbContext)对象及其相关实体的内存?
核心要点是:EF DbContext 和实体都是普通的 .NET 对象,它们的垃圾回收遵循标准的 .NET GC 规则。 但关键在于,由于 DbContext 内置了变更跟踪器,它会持有所有它查询过的实体的引用,这导致了特殊的内存管理挑战。
styshoo
2 个月前
golang
·
gc
·
垃圾收集
Go语言垃圾回收机制详解
Go语言的垃圾回收(GC)机制是其运行时系统的核心组件,经过持续演进,已从最初的简单标记-清除算法发展为高效并发的Green Tea GC,实现了低延迟、高吞吐的内存管理。Go GC通过三色标记法、写屏障和并发标记-清扫算法,在保持开发者无需手动管理内存便利性的同时,实现了接近C/C++语言的性能水平。本文将深入解析Go语言垃圾回收机制的工作原理、触发条件、性能优化策略及最新技术进展,帮助开发者更好地理解Go内存管理并编写高效程序。
七夜zippoe
3 个月前
java
·
jvm
·
gc
·
jit
·
垃圾回收器
JVM调优实战:从GC日志分析到参数配置(Xmx, Xms, XX:+)
目录🎯 摘要1. JVM调优概述:为什么需要系统化调优?1.1 调优的价值与目标1.2 调优的层次与流程
Pluchon
3 个月前
java
·
jvm
·
数据结构
·
java-ee
·
gc
硅基计划6.0 柒 JavaEE 浅谈JVM&GC垃圾回收
为什么我们Java要引入Java虚拟机JVM呢,Java虚拟机又称为Java解释器/Java执行引擎 因为它充当着翻译官,可以很好的实现跨平台功能,并且更好地兼容操作系统和CPU