pessoal, alguém sabe como posso zerar a Garbage Collector ? melhor ainda alguém sabe dizer porque ocorre a exception Exception in thread “main” java.lang.OutOfMemoryError: out of memory ??
:?
Valeu !
pessoal, alguém sabe como posso zerar a Garbage Collector ? melhor ainda alguém sabe dizer porque ocorre a exception Exception in thread “main” java.lang.OutOfMemoryError: out of memory ??
:?
Valeu !
Heheheh
voce estourou a memoria que a sua virtual machine tinha disponivel
Ou voce estar alocando memoria em um loop infinito, ou tem algo de mais errado ainda!
Pra aumentar a memoria que a sua virtual machine tem disponivel, use:
java -mx32m
Você pode trocar o 32 para o numero de megas que voce deseja utilizar. Sugiro 64, no mínimo.
qual é o valor default ?
Se não me engano são 8Mb.
[]'s
hm… mas isso significa que a jvm tem disponivel para o heap 8MB soh? ( no caso desse ser o valor default… mas a pergunta vale independente do numero de megas… ).
ta… nao sei se eh “disponivel para o heap”, mas queria enfeitar a frase :mrgreen:
Seguinte:
é impossivel você forçar o garbage collector a “limpar a memoria”, mas você pode aumentar a prioridade do thread dele. :twisted:
mas olha só: se esta dando estouro de memoria, alguma coisa de muito errado você esta fazendo, se fosse você iria dar uma olhada no codigo do programa antes de pensar em mexer com o Garbage Collector :lol:
Para forçar o Garbage Collector não é preciso apenas chamar
System.gc()
Para forçar o Garbage Collector não é preciso apenas chamar
System.gc()
vc nao “forca” o garbage collector, mas sim apenas diz “olha, eu gostaria que voce rodasse agora, se tiver um tempinho”… mas o gc nao eh obrigado a aceitar prontamente… se aceitar… 
Rafael
eh bem simples
o garbage collector eh uma thread, e o que ele faz (versao pseudopseudo)
if (precisoLiberarMemoria()) {
liberaMemoria();
}
o segredo eh esse metodo precisoLiberarMemoria. Normalmente eh um if q diz se a memoria esta em niveis criticos, ou se ja faz mto tempo q ele rodou pela ultima vez. Quando voce da Syste,.gc(), os GC PODE ou NÂO guardar isso, e da proxima vez q rodar o “precisoLiberarMemoria()” ele devolve true, ja q vc pediu. Mas a especificao da JVM nao garante nada, ele pode simplesmente ignorar o seu pedido!
gui