Grande Bruno.
Tamb�m concordo com voc�s. Pois isto � exatamente o que diz a documenta��o do
Java:
Calling the gc method suggests that the Java Virtual Machine expend effort toward
recycling unused objects in order to make the memory they currently occupy
available for quick reuse.
When control returns from the method call, the Java Virtual Machine has made
a best effort to reclaim space from all discarded objects.
Entretanto, na maioria dos casos a resposta ao Garbage Collector � imediata, como
podemos observar no programa que envio em anexo.
Sugiro que o pessoal que gosta de acompanhar o que acontece durante a execu��o de
um programa java execute o programa testegc usando a diretiva -verbosegc.
$ java -verbosegc testegc
Esta diretiva imprime no console o resultado da a��o do GB. Usando o programa em
anexo voc� pode alocar os objetos na mem�ria, que s�o liberados em seguida e
esperar que a JVM chame o GB. Isto pode demorar alguns segundos ou minutos, pois �
uma decis�o da m�quina virtual. Clicando no bot�o Executar o Garbage Collector ele
automaticamente entra em execu��o e libera a mem�ria.
Pelo menos este foi o resultado dos testes no Windows NT utilizando JDK 1.1.8 da
IBM.
Seria legal fazer alguns testes em outros ambientes e at� mesmo com o HotSpot,
infelizmente n�o tenho tempo para estes testes no momento.
[]'s a todos da lista
Handerson Gomes
Bruno Diniz de Paula wrote:
> Concordo com o Vitor.
>
> On Fri, 7 Jul 2000, Victor Muniz Rosa wrote:
>
> > Caro Handerson ,
> >
> > Quando voc� executa o m�todo System.gc() isto � uma sugest�o para o JVM
> > executar o garbage collection e n�o uma garantia que isto vai acontecer
> > naquele momento.
> >
> > []'s
> > Victor Muniz
> > ----- Original Message -----
> > From: Handerson <[EMAIL PROTECTED]>
> > To: Fabricio Jailson Barth <[EMAIL PROTECTED]>
> > Cc: <[EMAIL PROTECTED]>
> > Sent: Friday, July 07, 2000 11:19 AM
> > Subject: Re: [SouJava-J] Eliminar instancia do objeto sem terminar com a
> > execucao da aplicacao
> >
> >
> > Grande Fabricio.
> >
> > Como est�o as coisas por a� na FURB?
> >
> > Quando voc� intancia um objeto do tipo.
> > Button botao = new Button("OK");
> >
> > Voc� est� declarando um ponteiro (botao) que aponta para o real objeto
> > criado
> > com o m�todo construtor new Button( ).
> > Para remover uma inst�ncia da mem�ria voc� s� precisa remover todas as
> > refer�ncias para ela:
> > botao = null;
> >
> > Ao executar este comando o objeto criado por new Button( ) n�o tem mais
> > nenhum
> > apontador e o Garbage Collector se encarrega de remover o espa�o de mem�ria
> > utilizado por este objeto.
> > Para executar o Garbage Collector diretamente, sem precisar esperar que ele
> > entre em a��o por conta pr�pria utilize o m�todo System.gc( ); ou
> > Runtime.getRuntime().gc() que s�o equivalentes.
> >
> > []'s e bons condigos por a�!
> >
> > Handerson Gomes
> >
testegc.java
testegc.class