内存泄漏通常发生在程序中某些对象被分配了内存但在不再需要时未能正确释放,导致这部分内存无法被垃圾回收器回收,最终造成系统内存的浪费和性能问题。
以下是一些常见的内存泄漏示例:
-
未关闭资源:
- 当使用了需要手动关闭的资源(如文件、数据库连接、网络连接等),但在使用完后忘记调用关闭方法。这会导致资源仍然被占用,无法释放,从而造成内存泄漏。
// 未关闭数据库连接的例子 Connection conn = DriverManager.getConnection(url, username, password); // 使用连接进行数据库操作 // 操作完成后应该调用 conn.close() 来释放连接资源
-
除了内存