引用计数 共 12 篇文章

C++智能指针循环引用导致内存泄漏被忽视的场景
2026-06-08 09:50:15
C++智能指针循环引用导致内存泄漏被忽视的场景 你是否遇到过程序运行一段时间后,内存占用持续攀升,但检查所有 new 操作都配有 delete,却找不到泄漏点?一个隐蔽的元凶可能是智能指针的循环引用。本文将直接指导你识别、分析并修复这类问题。 场景一:理解问题根源 在使用 std::sharedpt
C++智能指针 循环引用 内存泄漏
31 0
C++ std::shared_ptr 控制块的内存布局与开销分析
2026-05-28 04:19:01
C++ std::sharedptr 控制块的内存布局与开销分析 std::sharedptr 是 C++ 智能指针家族中最常用的成员之一,它通过引用计数实现自动生命周期管理。但许多开发者只知其用法,却忽略了其背后控制块(Control Block) 的精确内存布局与性能开销。本文将从内存分配、成员
C++ shared_ptr 控制块
69 0
Python gc模块强制触发垃圾回收与循环引用检测
2026-05-19 06:10:18
Python gc模块强制触发垃圾回收与循环引用检测 Python通过引用计数和一个分代垃圾回收器自动管理内存。理解并适时使用 gc 模块,是解决内存泄漏和性能问题的关键技能。 第一阶段:理解基础与默认行为 在编写代码前,了解Python内存管理的两个核心机制:引用计数和分代回收。 1. 导入 gc
Python内存管理 gc模块 垃圾回收
55 0
Python weakref.proxy与weakref.ref的区别与使用场景
2026-05-16 18:18:00
Python weakref.proxy与weakref.ref的区别与使用场景 Python 的内存管理依赖引用计数机制。当一个对象的引用计数归零时,垃圾回收器(GC)会将其回收。但在某些场景下,我们需要引用对象却不希望增加其引用计数(例如缓存、观察者模式)。weakref 模块提供了两种主要方式
Python weakref 内存管理
73 0
C++ std::shared_ptr的use_count在并发下的近似性说明
2026-04-28 14:21:10
C++ std::sharedptr的usecount在并发下的近似性说明 std::sharedptr 是 C++ 中常用的智能指针,通过引用计数机制管理对象的生命周期。usecount 方法用于返回当前指向该对象的 sharedptr 实例数量。然而,在并发编程环境下,依赖 usecount 的
C++ shared_ptr 并发
74 0
C++智能指针std::shared_ptr控制块内存布局分析
2026-04-26 15:16:39
C++智能指针std::sharedptr控制块内存布局分析 std::sharedptr 的核心在于引用计数机制,而这个机制的物理载体就是“控制块”。深入理解控制块的内存布局,有助于优化程序性能并避免潜在的内存问题。 1. 理解控制块的基本构成 控制块并不是存储在 std::sharedptr 对
C++ 智能指针 控制块
72 0
Redis OBJECT HELP命令查看Key的空闲时间与引用计数
2026-04-25 08:27:28
Redis OBJECT HELP命令查看Key的空闲时间与引用计数 打开终端或命令行工具,确保 Redis 服务已处于运行状态。 1. 连接数据库并查看帮助 输入以下命令连接到本地 Redis 服务(默认端口 6379): bash rediscli 连接成功后,输入 OBJECT HELP 命令
Redis Redis命令 引用计数
82 0
Python弱引用Weakref实现LRU缓存的内存回收机制
2026-04-24 05:23:09
Python弱引用Weakref实现LRU缓存的内存回收机制 1. 理解引用计数与内存泄漏 Python 使用引用计数机制来管理内存。当一个对象的引用计数降为 0 时,垃圾回收器会立即回收该对象占用的内存。引用计数的数学表达式如下: $$ N{ref} = \sum{i=1}^{k} Ri $$ 其
Python 弱引用 LRU缓存
87 0
Python 垃圾回收引用计数与分代回收
2026-04-13 09:14:06
Python 的内存管理机制是程序高效运行的基石。要写出高性能、不内存泄漏的代码,必须深入理解其背后的垃圾回收(GC)逻辑。Python 的垃圾回收采用“引用计数为主,分代回收为辅”的策略,同时辅以“标记清除”机制解决循环引用问题。 以下将详细拆解这套机制的工作原理与实操方法。 1. 掌握引用计数机
Python 垃圾回收 引用计数
83 0
C++ 智能指针:unique_ptr、shared_ptr、weak_ptr
2026-04-07 05:08:33
C++ 智能指针:uniqueptr、sharedptr、weakptr 引入 标准库头文件 include <memory。配置 编译器编译标志启用 C++11 或更高标准(例如 GCC/Clang 使用 std=c++11,MSVC 使用 /std:c++14),确保基础语法可用。 阶段一:依据
智能指针 内存管理 引用计数
104 0
Python 内存管理:垃圾回收机制与内存泄漏排查
2026-04-03 02:02:15
Python 内存管理:垃圾回收机制与内存泄漏排查 Python 自动管理内存,开发者无需手动分配或释放。但当程序长时间运行、占用内存持续增长时,就可能遇到了内存泄漏。要高效排查和解决这类问题,必须理解 Python 的内存回收机制,并掌握实用的检测手段。 理解 Python 的垃圾回收机制 Pyt
Python内存管理 垃圾回收 引用计数
153 0
C++智能指针std::shared_ptr的循环引用解决方案
2026-04-02 19:19:15
C++智能指针std::sharedptr的循环引用解决方案 C++标准库中的std::sharedptr通过引用计数自动管理动态内存,但当两个或多个对象互相持有对方的sharedptr时,会形成循环引用,导致引用计数永远不会归零,从而引发内存泄漏。解决这一问题的核心方法是使用std::weakpt
C++智能指针 shared_ptr weak_ptr
105 0