面试官:
在实际编程中,内存泄漏通常会有哪些表现?
应聘者回答参考:
1. 一次性或偶发性泄漏
- 如果泄漏的操作是偶发的、一次性的,短时间内不会造成严重问题。
- 大多数操作系统在 进程退出时会回收进程占用的内存,所以这种情况通常影响不大。
2. 长期或频繁的内存泄漏
- 最直观的表现:系统中可用内存越来越少。
- 应用程序会出现:
- 内存占用持续上升(监控中看到“内存曲线不断攀升”)。
- 程序运行时间越久,性能越差。
- 可能触发 OOM(Out Of Memory) 错误,导致进程被系统强制杀掉。
- 在极端情况下,会耗尽整个系统内存,最终 系统崩溃。
总结:
- 轻度泄漏:应用退出时系统能清理,影响不大。
- 严重泄漏:导致内存占用持续增长,最终可能造成 程序崩溃或系统崩溃。
😀 关注 @公众号 程序员陈子青,获取更多 C++ 技术支持。