Connection关闭, PreparedStatement关闭, ResultSet不关闭的影响

如果你不使用连接池,一旦Connection关闭,数据库物理连接就被释放,所有相关Java资源也可以被GC回收了。 不过如果访问量大的话,打开的连接比较多,而GC又不会马上回收资源,对服务器来说造成的压力也是很大的。 但是如果你使用连接池,那么请注意,Connection关闭并不是物理关闭,只是归还连 接池,所以PreparedStatement和ResultSet都被持有,并且实际占用相关的数据库的 游标资源,在这种情况下,只要长期运行,往往就会报“游标超出数据库允许的最大 值”的错误,导致程序无法正常访问数据库。 所以还是养成及时关闭三者的好习惯吧。

你可能感兴趣的:(Connection,ResultSet)