当前位置: 技术问答>java相关
statement的内存问题,在线给分
来源: 互联网 发布时间:2015-08-22
本文导语: public ResultSet executeQuery(String sql) { rs=null; try { conn=DriverManager.getConnection(sConnStr); Statement stmt=conn.createStatement(); rs=stmt.exe...
public ResultSet executeQuery(String sql)
{
rs=null;
try
{
conn=DriverManager.getConnection(sConnStr);
Statement stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
}
catch(SQLException ex)
{
System.err.println("sql_data.executeQuery:"+ex.getMessage());
}
}
这样一个函数~~~
返回了rs,rs可以关闭,可是stmt没有关闭,久了,
Statement stmt=conn.createStatement();
这句话就不能释放了。
各位有没有心得?
{
rs=null;
try
{
conn=DriverManager.getConnection(sConnStr);
Statement stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
}
catch(SQLException ex)
{
System.err.println("sql_data.executeQuery:"+ex.getMessage());
}
}
这样一个函数~~~
返回了rs,rs可以关闭,可是stmt没有关闭,久了,
Statement stmt=conn.createStatement();
这句话就不能释放了。
各位有没有心得?
|
public ResultSet executeQuery(String sql)
{
rs=null;
try
{
conn=DriverManager.getConnection(sConnStr);
Statement stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
}
catch(SQLException ex)
{
System.err.println("sql_data.executeQuery:"+ex.getMessage());
}finally{
stmt.close();
conn.close();
}
return rs ;
}
{
rs=null;
try
{
conn=DriverManager.getConnection(sConnStr);
Statement stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
}
catch(SQLException ex)
{
System.err.println("sql_data.executeQuery:"+ex.getMessage());
}finally{
stmt.close();
conn.close();
}
return rs ;
}
|
stmt要你自己释放的,做成ConnectingPool应该更好些