|
Em primeiro lugar isto � uma consequ�ncia do modelo Garbage
Collection + finalize: se um objeto vai ter c�digo executado justamente antes de
ser coletado como lixo (finalize), esse mesmo c�digo pode ter o efeito
colateral de tornar o objeto (ou outros objetos) referenci�vel(is) novamente. �
uma situa��o com a qual o garbage collector e n�s devemos estar preparados para
lidar.
Uma utilidade? Que tal um pool de objetos que cresce
dinamicamente conforme as exig�ncias de sua aplica��o?
public class Poolable
{
private ObjectPool _myPool;
public Poolable(ObjectPool
pool)
{
_myPool =
pool;
}
protected void finalize()
{
// me devolvo ao pool j�
que algu�m esqueceu
// de me
devolver
_myPool.returnToPool(this);
}
}
public class ObjectPool
{
java.util.LinkedList_available;
public ObjectPool()
{
_available = new
java.util.LinkedList();
}
public synchronized object
get()
{
if
(_available.size() > 0)
{
return _available.removeLast();
}
return new
Poolable(this);
}
public synchronized void
returnToPool(object item)
{
_available.add(item);
}
}
A �nica maneira de matar realmente os objetos Poolable �
matando o ObjectPool ao qual eles pertencem. Obviamente em uma situa��o real
voc� ir� desejar limitar o tamanho m�ximo do pool, isso fica como exerc�cio ao
leitor ;-)
Rodrigo
----- Original Message -----
|
Title: Requisitos de hardware para o servidor de aplicacao J2EE
- RE: [enterprise-list] Ressurei��o de objetos francis . wagner
- Re: [enterprise-list] Ressurei??o de objet... Bruno Borges
- Re: [enterprise-list] Ressurei??o de o... Bruno Borges
- RE: [enterprise-list] Ressurei??o ... Luiz Cesar H. Kuriki
- [enterprise-list] Transa??o de... Luis Henrique Albinati Jr.
- RE: [enterprise-list] Ressurei??o de obje... Rodrigo B. de Oliveira
- RE: [enterprise-list] Ressurei??o de obje... sven
- Re: [enterprise-list] Ressurei??o de ... Bruno Borges
- Re: [enterprise-list] Ressurei??o de objet... Bruno Borges
- RE: [enterprise-list] Ressurei??o de objet... francis . wagner
