Boa tarde a todos.
alguem sabe uma maneira de contornar este erro : java.lang.OutOfMemoryError: Java heap space
?
acontece pq numa lista deveria caber 170 mil registros, isso eh possivel? e se não, existe algo aprecido que aguente tantos dados assim
?
obrigado
java -Xmx512m -jar seuPrograma.jar
java -Xmx1024m -jar seuPrograma.jar
funciona!!!
São muitos dados para você processar.
Você pode aumentar o espaço de memória da JVM, fazendo um tunning na mesma ou que é a melhor opção ao meu ver, dividir esta lista em partes, ou seja, ir pegando aos poucos os dados.
BLZA, fiz java -Xmx1024m no argumento da VM e finalizou bem, mas vou pensar na ideia de dividir, conforme aconselhado tambem.
Obrigado a todos.
Pense bem, isso funciona ok na máquina de desenvolvimento. Na máquina do cliente pode não ter tanta memória disponível para JVM. Evite esse problema: faça funcionar com o alocamento de memória básico.
mais uma coisa: No IDE funcionou corrretamente, mas quando construi meu .jar não funcionou, seria em algum lugar diferente para executar do .jar e funcionar?
Você tem que ver como está configurado o seu ambiente.
Como você executou o . jar? Aonde você executou o classpath estava configurado certo?
Estava sim, coloquei os parametros e testei no IDE, (Netbeans) e depois mandei construiur o projeto, só isso
Funcionar o quê?
Rodou o jar e estourou o heap?
Tenta colocar os parâmetros do tamanho de memória quando chamar o jar, pelo que eu saiba esses parâmetros não ficam embutidos no jar.
Pode criar um .bat para agilizar isso.
Extamente, fiz um .bat com o parametro na chamada do jar e este funcionou sem problemas. Muito obrigado a todos
Só não esqueça de que nem sempre isso pode funcionar, pois a JVM pode não alocar a quantidade de memória suficiente e dar estouro de Heap.