Ol� Pessoal.

   Em primeiro lugar gostaria de agradecer ao Leonardo
Souza e ao Rogerio Rangel por terem me dado solu��es
para o problema.

   Gostaria de complementar a quest�o.

   O mesmo 'for' est� dentro de uma transferCallBack,
que � uma classe que recebe o retorno de uma query em
um bd oracle.

   class ReturnedValue implements
TransferCallBackListener { 
   ...
   for (int i=0;i<max;i++) {
     Vector vect = new Vector();
     ...
     vect = null;
     ...
   }
   ...
 }

   Uma s�rie de queries s�o feitas em sequ�ncia e o
retorno tb se constitui de uma s�rie de resultSets.
Cada resultSet passar� pelo c�digo que inclui o 'for'.

   A quest�o �: ocorrer� uma thread para cada
resultSet (de forma que haja um 'vect' para cada
resultSet) ou haver� uma mistura entre o processamento
de cada resultSet (ou seja tudo bagun�ado na mesma
thread)?

   N�o sei se a pergunta � totalmente v�lida pois
estou meio perdido com este trecho do c�digo.

   Agrade�o muito se algu�m puder me ajudar.

   Obrigado,

   Marcos Yoshiaki Ibuki


--- Leonardo Souza Mario Bueno <[EMAIL PROTECTED]>
wrote: > Ola Marcos,
> 
> ----- Original Message -----
> From: Marcos Ibuki <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>;
> <[EMAIL PROTECTED]>
> Sent: Friday, October 20, 2000 9:08 PM
> Subject: Problema para liberar mem�ria.
> 
> 
> >
> >   Oi pessoal.
> >
> >   Estou com um problema de performance. Por
> exemplo,
> > declaro uma vari�vel desta forma:
> >
> >   for (int i=0;i<max;i++) {
> >     Vector vect = new Vector();
> >     ...
> >     vect = null;
> >     ...
> >   }
> >   Aparentemente esta �rea do programa est� gerando
> um
> > consumo muito alto de mem�ria, uma vez que "max"
> > intera��es acontecem e "vect" � um vetor com
> muitas
> > posi��es (muitas mesmo).
> >
> >   Eu pensei (e ainda penso) que atribuindo "null"
> �
> > vari�vel ocorria uma libera��o da mem�ria alocada
> para
> > aquela vari�vel, de forma que o garbage collector
> se
> > encarregaria do resto.
> >
> >   Mesmo for�ando o garbage collector com
> System.gc();
> > o consumo de mem�ria continuou a aumentar, a cada
> vez
> > que o c�digo acima era executado
> >
> >   Algu�m poderia por favor me esclarecer esta
> quest�o?
> 
>     Voc� pode tomar v�rias medidas para melhorar o
> desempenho deste
> c�digo...
> 
>     1) Se voce estiver acessando o vetor a partir de
> um �nico thread use
> ArrayList ao inves de Vector (ArrayList n�o �
> synchronized)
>     2) Passe como parametro para o construtor a
> capacidade inicial de
> elementos que voc� espera utilizar:
> 
>         ArrayList array = new
> ArrayList(CAPACIDADE_INICIAL);
>     3) Instancie o ArrayList fora do for e use
> array.clear() ao inv�s de
> vect = null
> 
>       ArrayList array = new
> ArrayList(CAPACIDADE_INICIAL);
> 
>        for (int i=0;i<max;i++) {
>         ...
>          array.clear();
>          ...
>        }
>        array = null;
> 
> Quando voc� atribui null a uma v�ri�vel E o objeto
> referenciado por ela
> nao possui nenhuma outra referencia ele PODE ser
> garbage collected.
> 
> Quando voce chama System.gc(), voce apenas indica a
> JVM que ela deveria
> executar o garbage collector... isto n�o garante que
> ela ira executar.
> 
> Leonardo
> .........................................
> Leonardo Souza Mario Bueno
> itera Inform�tica
> [EMAIL PROTECTED]
> +55 27 337-0317
> Visite o site da itera em:
> http://www.itera.com.br
> .........................................
> 
> >
> >   Obrigado.
> >
> >   Marcos Yoshiaki Ibuki
> >
> > __________________________________________________
> > Do You Yahoo!?
> > Yahoo! Messenger - Talk while you surf!  It's
> FREE.
> > http://im.yahoo.com/
> >
> 
> 
> ------------------------------ LISTA SOUJAVA
> ---------------------------- 
> http://www.soujava.org.br  -  Sociedade de Usu�rios
> Java da Sucesu-SP 
> d�vidas mais comuns:
> http://www.soujava.org.br/faq.htm
> regras da lista:
> http://www.soujava.org.br/regras.htm
> para sair da lista: envie email para
> [EMAIL PROTECTED] 
>
-------------------------------------------------------------------------
> 


__________________________________________________
Do You Yahoo!?
Yahoo! Messenger - Talk while you surf!  It's FREE.
http://im.yahoo.com/

------------------------------ LISTA SOUJAVA ---------------------------- 
http://www.soujava.org.br  -  Sociedade de Usu�rios Java da Sucesu-SP 
d�vidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para [EMAIL PROTECTED] 
-------------------------------------------------------------------------

Responder a