zoukankan      html  css  js  c++  java
  • 测试 jdbc 中连接关闭的时机

     使用 show processlist 查看所有数据库连接 

    测试调用 conn.close 之后,连接的变化情况 

    测试如果不写 conn.close 而是调用 System.gc() 之后,连接的变化情况 

    测试如果不写 conn.close 而是让程序执行完或退出,连接的变化情况 

    思考为什么必须要手动写 conn.close 语句释放资源

    如果不手动释放资源,一两条访问还可以,如果是一百万或着更多的时候,gc是不会那么快速的回收资源的,所以会导致电脑卡死的现象

    思考为什么要手动释放 resultset 和 statement

    如果使用连接池,那么请注意,Connection关闭并不是物理关闭,只是归还连接池,所以PreparedStatement和ResultSet都被持有,并且实际占用相关的数据库的游标资源,在这种情况下,只要长期运行,往往就会报“游标超出数据库允许的最大值”的错误,导致程序无法正常访问数据库。

  • 相关阅读:
    2016.11.21随笔
    2016.11.19随笔
    年月日
    导航position:absolute
    360搜索(边框)
    导航代码position:relative
    邮箱注册代码
    2016.11.18随笔
    2016.11.17随笔
    个人简历网页版代码
  • 原文地址:https://www.cnblogs.com/ljj5/p/9664566.html
Copyright © 2011-2022 走看看