标签:内存管理

共 68 篇文章

C++ vector扩容时导致迭代器失效的问题与规避方法

C++ vector扩容时导致迭代器失效的问题与规避方法 1. vector和迭代器的基本概念 创建一个vector对象最常用的方式是: cpp std::vector<int v

# C++ # vector # 迭代器
2026-04-27 169 0

Python __del__方法在循环引用时的调用时机问题

Python del方法在循环引用时的调用时机问题 在 Python 开发中,许多开发者习惯使用 del 方法(析构函数)来释放资源或记录对象销毁日志。然而,当对象之间存在“循环引

# Python # __del__ # 循环引用
2026-04-27 196 0

C++ std::shared_ptr的owner_before在弱排序中的使用

C++ std::sharedptr的ownerbefore在弱排序中的使用 C++ 标准库中的智能指针 std::sharedptr 提供了自动内存管理功能,但在将其作为关联容器

# C++ # 智能指针 # 弱排序
2026-04-26 144 0

JavaScript WeakRef弱引用在缓存场景中的实际应用

JavaScript WeakRef弱引用在缓存场景中的实际应用 在开发高流量或数据密集型的 Web 应用时,缓存是提升性能的关键手段。然而,使用传统的 JavaScript Ma

# WeakRef # 弱引用 # 缓存
2026-04-25 206 0

C++ std::unique_ptr的reset与swap的资源管理操作

C++ std::uniqueptr的reset与swap的资源管理操作 std::uniqueptr 的核心职责是独占管理动态分配的内存,确保在任何情况下资源都能被正确释放。熟练

# C++编程 # 智能指针 # 资源管理
2026-04-25 151 0

Redis OBJECT HELP命令查看Key的空闲时间与引用计数

Redis OBJECT HELP命令查看Key的空闲时间与引用计数 打开终端或命令行工具,确保 Redis 服务已处于运行状态。 1. 连接数据库并查看帮助 输入以下命令连接到本

# Redis # Redis命令 # 引用计数
2026-04-25 178 0

C++智能指针make_shared比直接new+shared_ptr好在哪

C++智能指针makeshared比直接new+sharedptr好在哪 C++11 引入了智能指针来管理动态内存,std::sharedptr 是最常用的一种。但在创建 std:

# C++ # 智能指针 # 内存管理
2026-04-24 202 0

Python弱引用Weakref实现LRU缓存的内存回收机制

Python弱引用Weakref实现LRU缓存的内存回收机制 1. 理解引用计数与内存泄漏 Python 使用引用计数机制来管理内存。当一个对象的引用计数降为 0 时,垃圾回收器会

# Python # 弱引用 # LRU缓存
2026-04-24 176 0

Java SoftReference软引用在缓存中的GC回收策略

Java SoftReference软引用在缓存中的GC回收策略 Java SoftReference(软引用)是构建内存敏感型高速缓存的关键工具。它允许对象在内存充足时保持存活,

# Java # 软引用 # 缓存
2026-04-22 185 0

C++ lambda表达式捕获变量的生命周期问题

C++ lambda表达式捕获变量的生命周期问题 Lambda 表达式是现代 C++ 开发中不可或缺的工具,但“捕获变量”的生命周期管理是导致程序崩溃的常见原因。理解捕获机制本质,

# C++ # Lambda表达式 # 捕获变量
2026-04-21 192 0

C++智能指针enable_shared_from_this的循环引用解决

C++智能指针enablesharedfromthis的循环引用解决 在C++开发中,使用 std::sharedptr 管理对象生命周期时,常遇到两个核心痛点:如何在类成员函数中

# C++ # 智能指针 # 循环引用
2026-04-21 184 0

C++ std::unique_ptr数组特化版的管理动态数组

C++ std::uniqueptr数组特化版的管理动态数组 管理原始动态数组需要成对使用 new 和 delete,稍有疏忽极易导致内存泄漏或未定义行为。std::uniquep

# C++ # 智能指针 # 动态数组
2026-04-20 159 0

C++ std::unique_ptr的release后手动delete的安全风险

C++ std::uniqueptr的release后手动delete的安全风险 std::uniqueptr 是 C++11 引入的智能指针,旨在通过 RAII(资源获取即初始化

# C++ # 智能指针 # 内存管理
2026-04-20 193 0

Python sys.getsizeof测量对象内存占用的准确性分析

Python sys.getsizeof测量对象内存占用的准确性分析 直接使用 sys.getsizeof 测量容器对象(如列表、字典)时,往往会得到一个远小于预期的数值。这是因为

# Python # 内存管理 # 内存占用
2026-04-19 186 0

Go 内存管理:GC 机制与内存分配

Go 内存管理:GC 机制与内存分配 Go 语言内置了自动内存管理机制,核心在于高效的内存分配器和并发垃圾回收器(GC)。掌握其工作原理是编写高性能 Go 程序的关键。 第一阶段:

# Go语言 # 内存管理 # GC机制
2026-04-18 202 0

C 数组问题:数组越界访问

C 数组问题:数组越界访问 数组越界访问是 C 语言开发中最常见且危害极大的错误之一。它指的是程序读取或写入了数组分配内存范围之外的地址。这种行为不仅会导致程序崩溃,还可能悄无声息

# C语言 # 数组越界 # 内存管理
2026-04-18 214 0

C++ 性能问题:拷贝构造函数调用频繁

C++ 性能问题:拷贝构造函数调用频繁 C++ 程序运行缓慢,往往不是因为算法复杂,而是因为在不知不觉中进行了大量的内存拷贝。每当一个对象被赋值给另一个对象、作为参数传入函数或从函

# C++ # 性能优化 # 拷贝构造函数
2026-04-17 160 0

JavaScript 内存管理:垃圾回收与内存泄漏

JavaScript 内存管理:垃圾回收与内存泄漏 JavaScript 具备自动内存管理机制,开发者无需像 C 或 C++ 那样手动分配(malloc)和释放(free)内存。然

# JS # 内存管理 # 垃圾回收
2026-04-17 211 0

C 指针问题:空指针解引用导致崩溃

C 指针问题:空指针解引用导致崩溃 在 C 语言开发中,Segmentation fault(段错误)是最常见的崩溃原因之一,而绝大多数情况下,这是由“空指针解引用”引起的。当程序

# C语言 # 指针 # 空指针
2026-04-15 220 0

Python 垃圾回收引用计数与分代回收

Python 的内存管理机制是程序高效运行的基石。要写出高性能、不内存泄漏的代码,必须深入理解其背后的垃圾回收(GC)逻辑。Python 的垃圾回收采用“引用计数为主,分代回收为辅

# Python # 垃圾回收 # 引用计数
2026-04-13 167 0