首页
文章列表
标签墙
返回找工具啦
内存泄漏
共 32 篇文章
Java垃圾回收Full GC频繁触发导致应用雪崩的排查
2026-06-11 09:47:50
Java垃圾回收Full GC频繁触发导致应用雪崩的排查 前置说明:本文以排查一个实际线上Java应用因频繁Full GC导致请求卡顿、最终服务不可用的“雪崩”场景为例。排查过程基于JDK 8及JDK 11,工具以命令行为主,确保在服务器环境中可直接操作。 第一阶段:监控确认,锁定问题 当应用响应变
Java垃圾回收
FullGC
应用雪崩
26
0
C++智能指针循环引用导致内存泄漏被忽视的场景
2026-06-08 09:50:15
C++智能指针循环引用导致内存泄漏被忽视的场景 你是否遇到过程序运行一段时间后,内存占用持续攀升,但检查所有 new 操作都配有 delete,却找不到泄漏点?一个隐蔽的元凶可能是智能指针的循环引用。本文将直接指导你识别、分析并修复这类问题。 场景一:理解问题根源 在使用 std::sharedpt
C++智能指针
循环引用
内存泄漏
16
0
Java ThreadLocal的内存泄漏为什么在线程池中特别危险
2026-06-04 00:43:22
Java ThreadLocal的内存泄漏为什么在线程池中特别危险 Java 中的 ThreadLocal 是一个为线程提供局部变量的工具类,它通过为每个使用该变量的线程提供独立的变量副本来实现线程隔离。然而,当它与线程池结合使用时,若处理不当,极易引发难以排查的内存泄漏问题。 本文将直指核心,解释
JavaThreadLocal
内存泄漏
线程池
25
0
Python weakref 弱引用在缓存与观察者模式中的防泄漏机制
2026-05-20 15:14:22
Python weakref 弱引用在缓存与观察者模式中的防泄漏机制 在Python中,对象的内存管理主要依赖于引用计数。当一个对象的引用计数降为0时,它就会被垃圾回收器(GC)回收。强引用 是导致引用计数增加的常见方式。在某些场景下,比如缓存和观察者模式,我们持有的引用如果阻止了不再需要的对象被回
Python
weakref
弱引用
45
0
Python gc模块强制触发垃圾回收与循环引用检测
2026-05-19 06:10:18
Python gc模块强制触发垃圾回收与循环引用检测 Python通过引用计数和一个分代垃圾回收器自动管理内存。理解并适时使用 gc 模块,是解决内存泄漏和性能问题的关键技能。 第一阶段:理解基础与默认行为 在编写代码前,了解Python内存管理的两个核心机制:引用计数和分代回收。 1. 导入 gc
Python内存管理
gc模块
垃圾回收
47
0
Java ScopedValue替代ThreadLocal的虚拟线程友好方案
2026-05-10 19:14:54
Java ScopedValue替代ThreadLocal的虚拟线程友好方案 在Java中,ThreadLocal 曾是线程隔离数据的常用工具,用于存储用户会话、数据库连接等上下文信息。但在虚拟线程时代,它暴露了内存泄漏和继承问题的缺陷。ThreadLocal 的值与线程实例绑定,虚拟线程是轻量级的
Java
虚拟线程
作用域值
62
0
Java OOM排查实战:堆转储文件分析与内存泄漏定位
2026-05-09 00:18:08
Java OOM排查实战:堆转储文件分析与内存泄漏定位 Java应用程序在生产环境中遭遇内存溢出OutOfMemoryError, OOM是常见问题。此类问题会导致应用崩溃或性能急剧下降。本文将指导你如何通过分析堆转储heap dump文件快速定位并解决Java内存泄漏问题。 第一阶段:堆转储文件生
JavaOOM
内存泄漏
堆转储
80
0
C++ RAII为什么是C++资源管理的核心思想
2026-05-04 11:27:18
C++ RAII为什么是C++资源管理的核心思想 C++ 程序开发中,最令人头疼的问题往往不是复杂的算法逻辑,而是资源泄漏。内存忘记释放会导致内存泄漏,文件句柄未关闭会导致文件占用,互斥锁未解锁会导致死锁。RAII(Resource Acquisition Is Initialization,资源获
C++
RAII
资源管理
52
0
Vue3 effectScope管理副作用的创建与销毁
2026-05-03 13:23:18
Vue3 effectScope管理副作用的创建与销毁 在 Vue 3 的组合式 API 中,watch、watchEffect 和 computed 等响应式 API 会产生“副作用”。在组件内部,Vue 会在组件卸载时自动清理这些副作用。但在组件外部(如在工具函数、插件或独立的逻辑复用模块中)使
Vue3
副作用管理
组合式API
62
0
Java ThreadLocalMap的线性探测法解决哈希冲突
2026-05-01 23:17:20
Java ThreadLocalMap的线性探测法解决哈希冲突 ThreadLocalMap 是 Java ThreadLocal 的核心存储结构,用于维护线程特有的变量副本。不同于 Java 集合框架中常见的 HashMap 使用链表法或红黑树来处理哈希冲突,ThreadLocalMap 选择了线
Java
线性探测法
哈希冲突
70
0
Java ThreadLocal在线程池复用时的内存泄漏风险
2026-04-29 03:19:15
Java ThreadLocal在线程池复用时的内存泄漏风险 Java中的 ThreadLocal 是实现线程隔离的利器,但在使用线程池的场景下,如果处理不当,它会变成内存泄漏的元凶。线程池的核心特性是“线程复用”,这导致ThreadLocal的生命周期变得不可控。本文将手把手带你分析其原因,并提供
Java
线程池
内存泄漏
71
0
C++智能指针enable_shared_from_this的循环引用解决
2026-04-21 00:20:09
C++智能指针enablesharedfromthis的循环引用解决 在C++开发中,使用 std::sharedptr 管理对象生命周期时,常遇到两个核心痛点:如何在类成员函数中安全地获取指向当前对象的 sharedptr,以及如何由此引发的循环引用导致内存泄漏问题。直接传递 this 指针会导致
C++
智能指针
循环引用
81
0
C++ std::unique_ptr的release后手动delete的安全风险
2026-04-20 03:20:25
C++ std::uniqueptr的release后手动delete的安全风险 std::uniqueptr 是 C++11 引入的智能指针,旨在通过 RAII(资源获取即初始化)机制自动管理内存,防止内存泄漏。然而,release 成员函数的存在提供了一种逃离自动管理的机制。如果在调用 rele
C++
智能指针
内存管理
75
0
JavaScript闭包导致内存泄漏的典型场景与排查方法
2026-04-19 20:15:19
JavaScript闭包导致内存泄漏的典型场景与排查方法 闭包是 JavaScript 中最强大的特性之一,允许内部函数访问外部函数的作用域。然而,如果不小心处理,闭包会轻易锁住原本该释放的变量,导致内存泄漏。以下是导致闭包内存泄漏的三个典型场景,以及使用 Chrome DevTools 进行排查和
闭包
内存泄漏
前端开发
91
0
JavaScript 内存管理:垃圾回收与内存泄漏
2026-04-17 21:25:20
JavaScript 内存管理:垃圾回收与内存泄漏 JavaScript 具备自动内存管理机制,开发者无需像 C 或 C++ 那样手动分配(malloc)和释放(free)内存。然而,理解其背后的垃圾回收(Garbage Collection, 简称 GC)机制,是编写高性能代码和避免内存泄漏的关键
JS
内存管理
垃圾回收
90
0
Java 线程局部变量ThreadLocal内存泄漏分析
2026-04-14 17:26:50
Java 线程局部变量ThreadLocal内存泄漏分析 认识 ThreadLocal的基本概念。ThreadLocal是Java中提供的一种线程绑定机制,它能让每个线程拥有自己的变量副本,避免了多线程环境下的资源竞争问题。当你在一个线程中设置ThreadLocal变量时,这个变量只对该线程可见,其
Java
ThreadLocal
内存泄漏
93
0
Python 内存分析:memory_profiler 与 objgraph
2026-04-14 11:20:21
Python 内存分析:memoryprofiler 与 objgraph 什么是内存分析 内存分析是软件开发中的一个重要方面,通过分析内存使用情况,可以识别和优化内存消耗高的部分,防止内存泄漏,提高应用程序的稳定性和性能。 使用 memoryprofiler 进行内存分析 什么是 memorypr
Python内存分析
内存优化
性能调试
66
0
Swift 内存管理:ARC 与 weak 引用
2026-04-07 02:10:21
Swift 内存管理:ARC 与 weak 引用 在 Swift 中编写应用时,系统会自动处理绝大部分内存分配与回收工作,这一机制被称为 ARC(自动引用计数)。理解 ARC 与 weak(弱引用)的配合逻辑,能彻底避免应用运行时的“内存泄漏”问题,让软件运行更流畅、更稳定。 阶段一:理解 ARC
内存管理
自动引用计数
弱引用
90
0
C 内存泄漏:动态内存未释放
2026-04-06 18:09:24
C 内存泄漏:动态内存未释放 动态内存管理是 C 语言编程的核心能力之一。当程序在堆上申请了内存却未能正确释放,就会发生内存泄漏。长期运行的程序若存在泄漏,会逐渐耗尽系统资源,导致程序崩溃或系统卡死。 以下是排查、修复及预防内存泄漏的实操指南。 1. 理解泄漏原理 内存泄漏的本质是“失去了对内存地址
C语言
内存泄漏
动态内存
134
0
C++ 内存问题:内存泄漏与野指针
2026-04-06 04:41:48
C++ 内存问题:内存泄漏与野指针 C++ 给了开发者直接操作内存的能力,但也把双刃剑交到了你手里。内存泄漏和野指针是最常见也最棘手的两个问题,它们像定时炸弹一样潜伏在代码中,随时可能导致程序崩溃或安全漏洞。这篇文章会教你识别、预防和解决这些问题。 第一章:认识内存泄漏 什么是内存泄漏 内存泄漏是指
C++内存
内存泄漏
野指针
80
0
1
2
下一页