Dúvida referente ao consumo de memória de uma aplicação Web

3 respostas
Diego_Adriano

bem galera, surgiu uma dúvida aqui.
Bem, minha aplicação esta “estourando” direto a memória da JVM do server, bem, li um tópico que dizia para sempre deixar o “Obj Null” para auxiliar o GC.
Pois bem, o que é correto:

cliente = new Cliente();
//or
cliente = null;

Qual a diferença entre eles ? Teoricamente como “new” eu estaria estanciando um novo e com o “null” limpando o velho ? Seria algo assim ?
Existe alguma ferramenta para medir a quantidade de memória que minha aplicação consome ?
O que vocês aconselham para melhorar esse problema ?

Obrigado

3 Respostas

Danilo_Carvalho

Você pode começar utilizando a Visual VM para monitorar sua aplicação e entender o que esta causando o problema.

K

qndo vc diz que o objeto é null,
vc diz que ele pode ser removido da memoria pelo
garbage collector,
quando vc faz um new, vc aloca um espaço na memoria para ele.

jaboot

kleberdamasco:
qndo vc diz que o objeto é null,
vc diz que ele pode ser removido da memoria pelo
garbage collector,
quando vc faz um new, vc aloca um espaço na memoria para ele.

Mais ou menos. Quando você diz que o objeto é null, ele está elegível pelo Garbage Collector para ser coletado. Mas isso não garante que ele vai ser removido agora, neste instante, ou daqui a 3 segundos.

Não dá pra prever o gc.

Criado 8 de janeiro de 2013
Ultima resposta 8 de jan. de 2013
Respostas 3
Participantes 4