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]
-------------------------------------------------------------------------