首页
文章列表
标签墙
返回找工具啦
垃圾回收
共 31 篇文章
Go unsafe.Pointer 与 uintptr 的转换为何受 GC 栈帧影响
2026-05-24 06:14:27
Go unsafe.Pointer 与 uintptr 的转换为何受 GC 栈帧影响 在 Go 的底层编程中,unsafe.Pointer 和 uintptr 是绕过类型系统、直接操作内存的两把利刃。一个常见且危险的做法是将 unsafe.Pointer 转换为 uintptr 进行指针算术,然后再
Go语言
unsafe.Pointer
uintptr
4
0
JVM 逃逸分析下的标量替换如何消除无用的堆内存分配
2026-05-22 21:13:32
JVM 逃逸分析下的标量替换如何消除无用的堆内存分配 堆内存分配是影响应用程序性能的关键因素之一。频繁创建和销毁对象,尤其是生命周期很短的对象,会给垃圾收集器带来巨大压力,并可能引发停顿。JVM 通过一项名为逃逸分析(Escape Analysis)的先进优化技术来识别这类对象,并在可能的情况下,运
JVM优化
逃逸分析
标量替换
13
0
JVM G1收集器的 Mixed GC 触发阈值与停顿预测模型
2026-05-22 06:19:21
JVM G1收集器的 Mixed GC 触发阈值与停顿预测模型 理解 G1 垃圾收集器的 Mixed GC(混合垃圾回收)何时发生以及如何预测其停顿时间,是精准调优 Java 应用的关键。Mixed GC 旨在高效回收老年代中那些大部分已无用的区域,同时严格遵守设定的最大停顿时间目标。其核心机制围绕
JVM
G1收集器
MixedGC
11
0
Python weakref 弱引用在缓存与观察者模式中的防泄漏机制
2026-05-20 15:14:22
Python weakref 弱引用在缓存与观察者模式中的防泄漏机制 在Python中,对象的内存管理主要依赖于引用计数。当一个对象的引用计数降为0时,它就会被垃圾回收器(GC)回收。强引用 是导致引用计数增加的常见方式。在某些场景下,比如缓存和观察者模式,我们持有的引用如果阻止了不再需要的对象被回
Python
weakref
弱引用
16
0
Python gc模块强制触发垃圾回收与循环引用检测
2026-05-19 06:10:18
Python gc模块强制触发垃圾回收与循环引用检测 Python通过引用计数和一个分代垃圾回收器自动管理内存。理解并适时使用 gc 模块,是解决内存泄漏和性能问题的关键技能。 第一阶段:理解基础与默认行为 在编写代码前,了解Python内存管理的两个核心机制:引用计数和分代回收。 1. 导入 gc
Python内存管理
gc模块
垃圾回收
24
0
Python weakref.proxy与weakref.ref的区别与使用场景
2026-05-16 18:18:00
Python weakref.proxy与weakref.ref的区别与使用场景 Python 的内存管理依赖引用计数机制。当一个对象的引用计数归零时,垃圾回收器(GC)会将其回收。但在某些场景下,我们需要引用对象却不希望增加其引用计数(例如缓存、观察者模式)。weakref 模块提供了两种主要方式
Python
weakref
内存管理
39
0
Go语言sync.Pool的对象复用与GC清空机制
2026-05-16 06:24:21
Go语言sync.Pool的对象复用与GC清空机制 sync.Pool 是 Go 标准库提供的一种临时对象缓存池。它的核心目标是复用临时对象,减少内存分配频率,从而降低垃圾回收(GC)的压力。与普通的“连接池”不同,sync.Pool 的生命周期受 GC 监控,它不适合存储数据库连接、Socket
Go语言
对象池
对象复用
34
0
Python weakref.finalize在对象销毁时执行清理回调
2026-05-15 06:16:24
Python weakref.finalize在对象销毁时执行清理回调 weakref.finalize 是 Python 标准库中用于注册清理回调的工具。它允许你在对象被垃圾回收时自动执行指定的函数,且不会阻止对象被销毁。相比传统的 del 方法,它更安全、更灵活,能有效避免循环引用导致的内存泄漏
Python
weakref
finalize
43
0
Python GC垃圾回收中分代回收的触发条件
2026-05-10 18:25:03
Python GC垃圾回收中分代回收的触发条件 Python的垃圾回收(GC)机制是自动的,开发者通常无需手动干预。然而,理解其工作原理,特别是分代回收的触发条件,有助于你诊断内存问题、优化程序性能。本文将详细解释Python分代回收的触发机制。 1. 分代回收的核心思想 Python的GC采用分代
PythonGC
垃圾回收
分代回收
38
0
JavaScript FinalizationRegistry在垃圾回收时执行清理回调
2026-04-29 17:23:38
JavaScript FinalizationRegistry在垃圾回收时执行清理回调 JavaScript 的垃圾回收机制通常会自动管理内存,但在某些涉及外部资源(如文件句柄、数据库连接或 WASM 内存)的场景下,仅靠垃圾回收是不够的。FinalizationRegistry 提供了一种在垃圾回
JS
垃圾回收
内存管理
48
0
Python weakref.WeakKeyDictionary在缓存键对象回收时的行为
2026-04-29 16:22:32
Python weakref.WeakKeyDictionary在缓存键对象回收时的行为 1. WeakKeyDictionary基本概念 创建 weakref.WeakKeyDictionary 是Python标准库中提供的一种特殊字典,它使用弱引用来存储键。与普通字典不同,当键对象没有被其他引用
Python
弱引用
缓存
48
0
JavaScript WeakMap和Map的区别:为什么用WeakMap做缓存
2026-04-28 05:16:18
JavaScript WeakMap和Map的区别:为什么用WeakMap做缓存 JavaScript 开发中,Map 和 WeakMap 长得很像,但它们在内存管理上有着天壤之别。如果不小心,用 Map 存储大量数据会导致内存泄漏,而 WeakMap 则能自动帮你清理垃圾。本文将直接通过对比和代码
JavaScript
WeakMap
前端开发
63
0
Python __del__方法在循环引用时的调用时机问题
2026-04-27 03:13:31
Python del方法在循环引用时的调用时机问题 在 Python 开发中,许多开发者习惯使用 del 方法(析构函数)来释放资源或记录对象销毁日志。然而,当对象之间存在“循环引用”时,del 的调用时机往往与预期不符,导致资源无法及时释放。这不仅会引发内存泄漏,还会让调试变得异常困难。本文将带你
Python
__del__
循环引用
57
0
Go语言runtime.GC手动触发垃圾回收的阻塞影响
2026-04-26 12:13:54
Go语言runtime.GC手动触发垃圾回收的阻塞影响 在 Go 语言中,垃圾回收(GC)通常作为后台进程自动运行,开发者无需关心内存释放的时机。然而,在高性能敏感或特定内存控制的场景下,开发者可能会尝试手动调用 runtime.GC。理解该函数对程序执行流的“阻塞”特性,对于避免服务抖动至关重要。
Go语言
垃圾回收
手动GC
53
0
JavaScript WeakRef弱引用在缓存场景中的实际应用
2026-04-25 22:21:54
JavaScript WeakRef弱引用在缓存场景中的实际应用 在开发高流量或数据密集型的 Web 应用时,缓存是提升性能的关键手段。然而,使用传统的 JavaScript Map 或普通对象构建缓存,往往面临一个棘手问题:内存泄漏。如果不手动清理,缓存的数据会一直占用内存,直到进程崩溃。 Jav
WeakRef
弱引用
缓存
51
0
Go语言逃逸分析:变量何时分配在堆上而非栈上
2026-04-25 00:19:27
Go语言逃逸分析:变量何时分配在堆上而非栈上 理解 Go 语言的逃逸分析是编写高性能代码的关键。Go 编译器会自动决定变量是分配在快速的栈上,还是需要垃圾回收(GC)管理的堆上。掌握这一机制,能有效减少 GC 压力,提升程序运行速度。 1. 理解核心机制:栈与堆的区别 在深入分析之前,需明确变量存储
Go语言
逃逸分析
内存分配
53
0
Java SoftReference软引用在缓存中的GC回收策略
2026-04-22 13:24:40
Java SoftReference软引用在缓存中的GC回收策略 Java SoftReference(软引用)是构建内存敏感型高速缓存的关键工具。它允许对象在内存充足时保持存活,而在内存不足时被垃圾回收器(GC)回收,从而有效避免OutOfMemoryError。以下将详细阐述其GC回收策略及在缓
Java
软引用
缓存
59
0
Java CMS垃圾收集器的浮动垃圾与Concurrent Mode Failure
2026-04-20 02:26:26
Java CMS垃圾收集器的浮动垃圾与Concurrent Mode Failure CMS(Concurrent Mark Sweep)收集器以获取最短回收停顿时间为目标,允许垃圾收集线程与用户线程并发执行。这种设计虽然降低了停顿时间,但也引入了“浮动垃圾”和“Concurrent Mode Fa
Java
CMS
垃圾回收
62
0
Go 内存管理:GC 机制与内存分配
2026-04-18 23:26:15
Go 内存管理:GC 机制与内存分配 Go 语言内置了自动内存管理机制,核心在于高效的内存分配器和并发垃圾回收器(GC)。掌握其工作原理是编写高性能 Go 程序的关键。 第一阶段:内存分配机制 Go 的内存分配器基于 TCMalloc 架构,旨在解决多线程下的内存锁竞争问题。其核心思想是将内存切分为
Go语言
内存管理
GC机制
71
0
JavaScript 内存管理:垃圾回收与内存泄漏
2026-04-17 21:25:20
JavaScript 内存管理:垃圾回收与内存泄漏 JavaScript 具备自动内存管理机制,开发者无需像 C 或 C++ 那样手动分配(malloc)和释放(free)内存。然而,理解其背后的垃圾回收(Garbage Collection, 简称 GC)机制,是编写高性能代码和避免内存泄漏的关键
JS
内存管理
垃圾回收
67
0
1
2
下一页