我定义方法,方法返回结果集赋给全区的resultset rs;空对象然后返回这个全局的rs,如果我没在方法中关闭结果集,方法调用完会自动关闭结果集吗?如果在调用一次该方法原来的结果集会被关闭吗?
在rs对象回收的时候会关闭,但是什么时候回收,你不知道,因为是否回收,jvm视内存而定,所以最好是手工关闭。
(1)某个方法执行完后,,是会被回收的,,方法内的局部变量很快就被回收了(就算还没被回收,局部变量也找不回来,线程私有的)
(2)方法调用完会自动关闭结果集吗?
垃圾回收会把局部变量中的连接杀死,,但是这样可能会造成个问题,,数据库端的连接在一段时间内没被关闭,造成不必要的开销。
(3)如果再调用一次该方法原来的结果集会被关闭吗?
局部变量是临时创建的,,再调用一次,会创建新的连接。
上面两个回答有点偏题,JAVA中关闭(关闭我理解的是析构,可能我没能很好的理解题主的描述)和回收机制,本身就没有直接关系
1.方法和全局变量,生存周期上都没有任何关系,单个拿出来理解就好,全局变量并不会因为方法结束而关闭
2.再次调用,原数据结果不会立马消失,在没有额外记录的情况下,你也调用不到原结果集。回不回收,要视代码而定