什么是数据库连接泄漏
指的是如果在某次使用或者某段程序中没有正确地关闭Connection、Statement和ResultSet资源,那么每次执行都会留下一些没有关闭的连接,这些连接失去了引用而不能得到重新使用。
查找造成泄露的操作
- 根据日志查找
- 查看系统日子,找出连接池溢出时刻
- 查找对应时间,正在进行的操作
- jstack
- 用 jstack 来打印出线程的活动状态
- 查看具体进程的方法
jstack实践
指的是如果在某次使用或者某段程序中没有正确地关闭Connection、Statement和ResultSet资源,那么每次执行都会留下一些没有关闭的连接,这些连接失去了引用而不能得到重新使用。