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都被持有,并且实际占用相关的数据库的游标资源,在这种情况下,只要长期运行,往往就会报“游标超出数据库允许的最大值”的错误,导致程序无法正常访问数据库。

  • 相关阅读:
    个人总结05
    微软拼音的用户体验
    个人总结04
    典型用户和用户场景模式
    个人总结03
    个人总结02
    构建之法阅读笔记06
    个人总结01
    学习进度条——第七周
    WebApi学习总结系列第五篇(消息处理管道)
  • 原文地址:https://www.cnblogs.com/ljj5/p/9664566.html
Copyright © 2011-2022 走看看