当前位置: 技术问答>java相关
关于bean中的resultset返回值的疑问?????????
来源: 互联网 发布时间:2015-03-06
本文导语: 大家好,问一个关于bean中的resultset返回值的疑问 下面是bean中的源代码: //用于获取查询结果,并返回rs public ResultSet getQueryResults(String dbSqlStr) { try{ //数据库操作 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //装载数据库驱动 C...
大家好,问一个关于bean中的resultset返回值的疑问
下面是bean中的源代码:
//用于获取查询结果,并返回rs
public ResultSet getQueryResults(String dbSqlStr)
{
try{
//数据库操作
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //装载数据库驱动
Connection conn=DriverManager.getConnection(dbUrl,dbUser,dbPwd); //连接数据库
Statement state=conn.createStatement(); //获取Statement对象,Statement对象用于想数据库发送sql语句
dbQueryRs=state.executeQuery(dbSqlStr); //执行查询
//System.out.println(dbQueryRs);
//state.close();
}
catch(Exception e){;}
return dbQueryRs; //返回rs
}
在jsp中也可以使用。
问题:
java文档中说,方法结束后,所有本地变量内存被释放,上面返回resultset
后,connection应该已经关闭阿,这么还能使用呢???
有没有知道的???????????
|
resultset有对connection的引用。
java文档中说,方法结束后,所有本地变量内存被释放---这句话是错的,JVM只会搜集不再用的对象空间,只要还有句柄指向它,就不会被回收。而且,对于数据库资源的回收是很缓慢的,所以建议大家用完后,主动的回收。(close)
java文档中说,方法结束后,所有本地变量内存被释放---这句话是错的,JVM只会搜集不再用的对象空间,只要还有句柄指向它,就不会被回收。而且,对于数据库资源的回收是很缓慢的,所以建议大家用完后,主动的回收。(close)