VIP20
本课程属于:009-多线程与内存管理 编程基础与工程化 · 共 20 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录 咨询 / 购买

从内存泄漏到项目重构 · 完整路径

📚 共计 30 章节
01
内存泄漏初探
什么是内存泄漏?为什么Python也会有内存泄漏?一个简单的泄漏示例。
泄漏基础Python
02
垃圾回收机制
Python的引用计数、标记清除、分代回收,以及它们如何失效。
GC引用计数
03
循环引用陷阱
对象互相引用导致无法回收,实战演示与weakref解决方案。
weakref循环引用
04
全局变量与缓存
全局列表/字典不断增长,lru_cache的误用,如何正确清理。
全局变量lru_cache
05
闭包与回调泄漏
闭包持有外部变量导致内存无法释放,事件回调未注销。
闭包回调
06
线程与协程泄漏
threading.local的误用,未关闭的协程对象堆积。
线程协程
07
C扩展与ctypes泄漏
调用C库时内存管理失控,使用valgrind检测。
C扩展valgrind
08
日志与文件句柄泄漏
日志处理器重复添加,文件打开未关闭的排查。
日志文件句柄
09
数据库连接池泄漏
SQLAlchemy/Redis连接未归还,连接池耗尽。
连接池SQLAlchemy
10
Matplotlib与GUI泄漏
绘图未关闭figure,Tkinter/PyQt对象残留。
MatplotlibGUI
11
内存泄漏检测工具
tracemalloc、objgraph、guppy、memory_profiler实战。
检测工具profiler
12
线上环境监控
使用Prometheus + Grafana监控内存指标,设置告警。
监控Prometheus
13
案例实战1:Flask服务
一个Flask Web服务的内存泄漏排查全记录。
Flask实战
14
案例实战2:数据处理脚本
一个数据处理脚本的内存泄漏定位与修复。
脚本调试
15
从泄漏到重构
为什么修复泄漏后代码依然难以维护?技术债务的概念。
技术债务重构
16
代码坏味道识别
过长函数、过大类、重复代码、散弹式修改。
坏味道设计
17
设计原则入门
单一职责原则、开闭原则、依赖倒置原则。
SOLID设计原则
18
重构手法1
提取函数、提取类、移动语句、拆分循环。
提取拆分
19
重构手法2
以多态取代条件表达式、引入参数对象、保持对象完整。
多态参数对象
20
重构手法3
封装变量、内联函数、替换算法、分解条件表达式。
封装算法替换
21
测试先行
为什么重构必须要有测试?单元测试、集成测试基础。
单元测试集成测试
22
pytest实战
fixture、mock、参数化测试,为重构保驾护航。
pytestmock
23
重构与性能
重构会不会让代码变慢?如何平衡可读性与性能。
性能可读性
24
架构重构
从单体到模块化,从面条代码到分层架构。
架构模块化
25
依赖注入
解耦组件,让代码可测试、可替换。
DI解耦
26
设计模式应用
工厂模式、策略模式、观察者模式在重构中的使用。
工厂策略观察者
27
异步重构
将同步阻塞代码重构为异步非阻塞,提升吞吐量。
异步吞吐量
28
代码审查与重构
如何通过Code Review发现重构机会,团队协作。
Code Review协作
29
持续重构文化
如何让团队接受重构,重构的节奏与范围控制。
团队文化节奏
30
课程总结
从内存泄漏到优雅代码的完整路径,构建你的技术护城河。
总结技术护城河