Ola Pessoal, uma vez criei um programa em Delphi e em resumo alguns meses depois ele estava travando por sobrecarga de memória paginada do windows, então agora todo programa que monto fico de olho nesta “GAFI”.
Em Java construí o seguinte código para conectar-se a um BD:
public ClassConecta() { }
private String url = "jdbc:postgresql://127.0.0.1:5432/postgres";
private String driver ="org.postgresql.Driver";
private String user ="postgres";
private String pwd = "postgres";//Senha do Banco de dados
Connection con = null;
public Connection conecta(){
try{
Class.forName(driver);
con = DriverManager.getConnection(url, user,pwd);
}catch(ClassNotFoundException e){
JOptionPane.showMessageDialog(null,"Ocorreu um erro no sistema, se o problema persistir contate o administrador:\n Driver n�o encontrado!\n"+ e,"ATEN��O",JOptionPane.WARNING_MESSAGE);
}catch(SQLException e){
JOptionPane.showMessageDialog(null,"Ocorreu um erro no sistema, se o problema persistir contate o administrador:\n Erro na Conex�o com Banco\n"+ e,"ATEN��O",JOptionPane.WARNING_MESSAGE);
}
return con;
}
e em determinados momentos chamo a classe de nome conecta que contem o código acima e crio o seguinte:
ClassConecta conexao = new ClassConecta();
GeinsComandasApp principal = new GeinsComandasApp();
conexao.conecta();
Statement stmt = conexao.con.createStatement();
ResultSet rs = stmt.executeQuery("select codcliente, descliente , fone, cel from clientes");
A questão é: Tenho que fechar a conexão? ou o stmt? pois notei que as memórias estão subindo cada vez que eu chamo a classe conecta e ela só baixa quando eu encerro o aplicativo…
Tem algo errado, Não?
