Resultado da Análise com Profiler

Galera,

Estou usando o profiler do netbeans para diagnosticar melhor um problema frequente em minha aplicação. Para esclarecer melhor, minha aplicação é um cliente web service que fica atualizando de 10 em 10 seg. O problema é que ela simplesmente trava, para de atualizar e lança a aquela aterrorizante exceção OutOfMemoryError.

Seguinte meu programa inicia com 60 MB e fica nisso um bom tempo. Aí eu começo a abrir tela atrás de tela, e consequentemente o consumo de memória aumenta muito (180 MB) e não baixa de jeito nenhum.

Outra coisa que me chamou atenção é o carregando de classes (Loaded Classes) que chega a 662.000 classes.

O que posso fazer para melhorar isso? Já alterei os parâmetros da JVM, que atualmente estão assim:

-XX:+AggressiveHeap,-Xincgc,-XX:+UseParallelGC

Valeu!!! :cry:

Dá a impressão que para cada tela seu programa cria um novo classloader, e isso força a carregar novas cópias das classes. Uma classe br.com.teste.Tela1, carregada pelo classloader default, é diferente para o Java da mesma classe br.com.teste.Tela1, carregada por outro classloader. Tem como, usando o profiler, identificar se há muitos objetos Classloaders?

Thingol,

Obrigado primeiramente por responder. Vou verificar aqui, mas caso isso esteja ocorrendo, tem alguma coisa que possa ser feita?

Valeu! :wink: