Desturindo objetos

3 respostas
J

oi gente ... tenho uma aplicação, que está meio lenta, é um formulario de consulta que a cada letra q o usuario digita, sao apresentados os resultados de um SELECT LIKE numa JTable...
tenho uma amigo q programa em ASP.NET ele falou que ele quando gera um objeto ele o destroi, livrando assim a memoria....

ai eu pensei ... q como na minha aplicação, a cada linha o jtable é criado um objeto .. será q nun tah ficado lento por causa disso?? ten como destruir os objetos criados?? ou soh o Conexao.close e o Stactment.close dariam conta? segue abaixo o codigo ...

public static ArrayList consultaNome(String nome) {
    	dadosEncontrados = new ArrayList();
        
    	try{    	
        st = c.prepareStatement("SELECT * FROM tbEditora WHERE nm_editora LIKE '%" + nome + "%' ORDER BY nm_editora");
        rs = st.executeQuery();
        
        while(rs.next()){
            objEditora = new Editora(rs.getInt(1), rs.getString(2));
            dadosEncontrados.add(objEditora);
          }
        st.close();
    	} catch (SQLException e) {
			e.printStackTrace();
		}
        
        return dadosEncontrados;
    }

a cada letra digitada .. esse codigo roda pra retornar um arrayList de objetos e popular a JTable ... tah errado?

BRIGADÃO

{{}}ss

3 Respostas

BrunoBastosPJ

Quando você retorna o ArrayList neste método todos os objetos, teoricamente, morrem… Você pode tentar chamar um System.gc(), mas não deve adiantar muito…

Você está trabalhando com Threads? Talvez isso possa te ajudar a melhorar o desempenho da pesquisa…

J

vaelew … já estamos usando algumas threads, axo q o programa vai ficar meio pesado msm ><

L

soh uma observação, quando vc retorna o arraylist os objetos adicionados não morrem, e nem podem morrer pois estão sendo referenciados pela lista…

Criado 2 de junho de 2007
Ultima resposta 4 de jun. de 2007
Respostas 3
Participantes 3