Java 对象实例是否会发生一些内存泄漏?
我发现了一个用于jdbc操作的实用程序类Java 对象实例是否会发生一些内存泄漏?,java,memory-leaks,Java,Memory Leaks,我发现了一个用于jdbc操作的实用程序类 public ResultSet executePreparedStatementQuery(String sql, ArrayList args) throws ValidationException { try { InitialContext ctx = new InitialContext(); DataSource ds = getDataSource(ctx); con
public ResultSet executePreparedStatementQuery(String sql, ArrayList args)
throws ValidationException {
try {
InitialContext ctx = new InitialContext();
DataSource ds = getDataSource(ctx);
conn = ds.getConnection();
CustomLogger.getLogger("JDBCUtility").logConnection(conn, true, 3);
pStmt = conn.prepareStatement(sql);
int count = 1;
Iterator iter = args.iterator();
while (iter.hasNext()) {
Object obj = iter.next();
setPreparedStatementField(count, obj);
count++;
}
rs = pStmt.executeQuery();
} catch (SQLException sqlEx) {
close();
throw new ValidationException(sqlEx.getMessage());
} catch (Exception cnfe) {
close();
cnfe.printStackTrace();
throw new ValidationException(cnfe.getMessage());
}
return rs;
}
所有连接、语句和结果集都由非静态类变量引用。调用rs=dbutil.executePreparedStatementQuery(strQuery,values)时是否会发生内存泄漏代码>在anather类中创建一些JDBCUtility实例(dbutil)之后
提前谢谢 为什么这样认为?因为每个实例都持有connection和resultset objectsclose(),用于关闭所有连接、语句和resultset