Recuperar ID de Jtable

Estou jogando o objeto inteiro no vetor, aí eu nao preciso do id

        int id=0;
        for(Conta item : contas){
            data[id][0]=item;
            id+=1;
        } 

data[]

Boa noite ViniGodoy,
Será que é por isso que minha aplicação trava (estouro de memória da JVM).
Ela atualiza uma tabela a cada 30 segundos (Timer), cuja a mesma e demais do sistema utiliza DefaultTableModel.
De duas em duas horas preciso fechar a aplicação matando o processo.
Se puder me responder agradeço.
Abraço!

O ideal seria usar um profiler, como o VisualVM, e ver exatamente onde está seu gargalo de memória. Se estiver usando o Netbeans, ele tem um profiler ainda melhor.

PS: Evite ressuscitar tópicos muito antigos. Levei um tempão para descobrir o que era o “isso” que você falava na sua frase.

Me desculpe pelo tópico antigo, é que realmente me chamou a atenção sendo talvez uma solução para mim.
Minha aplicação roda a mais de 2 anos e não consegui resolver esse problema.
Utilizo sim o NetBeans. Você se refere a utilizar o ‘Perfil Projeto’ do NetBeans?
Tempos atrás eu fiz este teste e obtive o resultado conforme a figura.
Thread causando exceção OutOfMemoryError: [color=blue]AWT-EventQueue-0[/color]

Isso mesmo. Vai ali em instâncias e você vai ver que provavelmente existem centenas de instâncias da mesma classe. Pega algumas amostras e vasculha a quem essas instâncias estão ligadas. Depois, procura no seu código o porque essas instâncias não estariam morrendo.

Há altíssimas chances de haver alguma variável estática segurando esse pessoal todo.

Opa, Vini. Já é uma luz rsrs.
Vou fazer outra análise e te retorno com uma resposta positiva.
Por enquanto agradeço.
Boa Semana!

[quote=ViniGodoy]Isso mesmo. Vai ali em instâncias e você vai ver que provavelmente existem centenas de instâncias da mesma classe. Pega algumas amostras e vasculha a quem essas instâncias estão ligadas. Depois, procura no seu código o porque essas instâncias não estariam morrendo.

Há altíssimas chances de haver alguma variável estática segurando esse pessoal todo.[/quote]

Bom dia Vini. Cara eu passei a madrugada analisando o ‘Perfil do Projeto’. Vi muitas instâncias de classes repetidas (ex.: bytes = 255.299 instâncias), porém não sei se é relativo ao meu código escrito ou são das classes JAVA (String, Double…), percebi a memória tentando acompanhar o constante crescimento do consumo da aplicação até se esgotar, e analisei a quantidade de Threads sendo executadas, porém ainda não cheguei a nenhuma solução.
Acredito que minha necessidade fugiu do contexto deste tópico (Recuperar ID de Jtable), gostaria de criar uma nova discussão sobre o assunto (ex: Aplicação travando, estouro de Memória da JVM).
Posso prosseguir com essa ideia e contar com sua ajuda?
Ficaria muito grato.

Não lê os dados do BD (linha 60), Sempre entra no cath e da mensagem javalangnull

package Connection.Data.Base;

import java.util.ArrayList;
import javax.swing.table.AbstractTableModel;

public class ModeloTabela extends AbstractTableModel
{
    private ArrayList linhas = null; //array para guardar linhas
    private String[] colunas = null;//vetor para guardar colunas
    
    public ModeloTabela(ArrayList line, String[] column)
    {
        setLinhas(line);
        setColunas(column);
    }    
    public ArrayList getLinhas()
    {
        return linhas;
    }
    public void setLinhas(ArrayList dados)
    {
        linhas = dados;
    }
    public String[] getColunas()
    {
        return colunas;
    }
    public void setColunas(String[] nomes)
    {
        colunas = nomes; 
    }
    public int getColumnCount()
    {
        return colunas.length;//retorna a quantidade de colunas
    }
    public int getRowCount()
    {
        return linhas.size();//conta a quantidade de linhas
    }
    public String getColumnName(int numCol)
    {
        return colunas[numCol];
    }
    public Object getValueAt(int numLin, int numCol)
    {
        Object[] linha = (Object[])getLinhas().get(numLin);
        return linha[numCol];
    }
}

 public void preencherTabela(String SQL)
    {
        ArrayList dados = new ArrayList();
        String[] Colunas = new String[]{"Nome", "Cidade", "Estado"};
        
        conecta.executaSQL(SQL);
               
        try
        {
            conecta.rs.first(); 
            do
            {          
                dados.add(new Object[]{conecta.rs.getString("nome"), conecta.rs.getString("estado"),
                conecta.rs.getString("cidade")});
            } while (conecta.rs.next());// Enquanto houver dados no banco o loop continua          
        } catch (Exception e)
        {
            JOptionPane.showMessageDialog(null, "Erro ao preencher o ArrayList! \n Erro " + e);
        }
        
        ModeloTabela modelo = new ModeloTabela(dados, Colunas);
        jTableTabela.setModel(modelo);
        jTableTabela.getColumnModel().getColumn(0).setPreferredWidth(300);//Tamanho da coluna
        jTableTabela.getColumnModel().getColumn(0).setResizable(false);// Nao pode alterar a largura da coluna, ou seja, não pode aumentar o tamanho com o mouse
        jTableTabela.getColumnModel().getColumn(1).setPreferredWidth(300);
        jTableTabela.getColumnModel().getColumn(1).setResizable(false);
        jTableTabela.getColumnModel().getColumn(2).setPreferredWidth(80);
        jTableTabela.getColumnModel().getColumn(2).setResizable(false);
        jTableTabela.getTableHeader().setReorderingAllowed(false);// Nao pode reorganizar os campos da tabela
        jTableTabela.setAutoResizeMode(jTableTabela.AUTO_RESIZE_OFF);// A tabela nao poderá ser redimensionada
        jTableTabela.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);// Poderá selecionar apenas um campo da tabela
        
    }