Para implementar o que voce quer, seria necessario que houvesse um operador
delete no Java, o que tornaria facil que se esquecesse de usa-lo, causando
memory leaks. O metodo finalize eh chamado quando o objeto sai do escopo e
nao pode mais ser referenciado, exceto quando a VM estah proxima de ser
terminada. Se voce fizer um debug, perceberah que o finalize normalmente eh
chamado na maioria das implementacoes de VM alguns instantes depois de o
objeto nao poder ser mais referenciado. A sua chamada nao eh certa, mas eh
bastante provavel e com um delay relativamente pequeno com relacao a morte
do objeto. Pode nao ser a solucao perfeita, mas simplicidade e performance
tem seu preco.

Com respeito a clonagem, concordo que eh uma questao bastante polemica,
especialmente referente a implementacao de deep cloning. Quanto aos
operadores de sobrecarga, a grande maioria dos desenvolvedores Java nao
sente a menor falta deles e eles realmente tornam o codigo ilegivel exceto
em dominios bem limitados, como matematica - operacoes com matrizes e coisas
do genero. Diretivas de compilacao, bem, desculpe, mas nao fazem o menor
sentido - a menos que voce me prove o contrario :-P

Para concluir, sinceramente acho que esta discussao deveria ir para a
java-list, porque nao estamos falando nada relacionado a J2EE. Que acha?

[]s
Michael Nascimento Santos
Sun Certified Programmer for the Java 2 Platform
Sun Certified Programmer for the Java 2 Platform 1.4
Sun Certified Web Component Developer for J2EE
Moderador SouJava - www.soujava.org.br


----- Original Message -----
From: "Giuseppe Proment" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Friday, February 21, 2003 8:50 PM
Subject: Re: [enterprise-list] Destrutor



Antes do Java programava em C++ ent�o entendo que o destrutor poderia ser
chamado em java
quando o objeto sai de seu escopo ou n�o pode mais ser refer�nciado. A
explica��o para o n�o
uso do Finalize � bastante vaga... Acho que isso � um dos furos da
linguagem, como muitos outros
exemplo: falta de construtores de c�pia remendados pelo 'clone', falta de
sobrecarga de operadores
porque foi julgado 'complexo',  falta de diretivas de compila��o idem,
etc...
O que ocorre � a cria��o de um m�todo pr�prio para fazer clean-up e temos
sempre que lembrar
de chama-lo, porque n�o h� outro jeito... Uma solu��o bastante desajeitada.





                      "Michael
                      Nascimento               Para:
<[EMAIL PROTECTED]>
                      Santos"                  cc:
                      <[EMAIL PROTECTED]         Assunto: Re:
[enterprise-list] Destrutor
                      il.com>

                      21/02/03 16:31
                      Responder a
                      enterprise-list





Senao voce ia ter que acabar sendo obrigado a dizer quando ele precisava
ser
chamado. Ou o overhead de execucao ia ser enorme, porque a cada instrucao,
o
garbage collector teria que checar para quais objetos jah seria possivel
chamar o destrutor.

Se voce pensou em algo diferente disto, explique melhor.

[]s
Michael Nascimento Santos
Sun Certified Programmer for the Java 2 Platform
Sun Certified Programmer for the Java 2 Platform 1.4
Sun Certified Web Component Developer for J2EE
Moderador SouJava - www.soujava.org.br

----- Original Message -----
From: "Nilseu Padilha" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Friday, February 21, 2003 2:44 PM
Subject: [enterprise-list] Destrutor


> Alguem sabe o motivo pelo qual nao incluiram um Destrutor decente (nao
finalize()) na especificacao de Java?
>
>
> <Padilha id="Nilseu">
> Nilseu Perside Ortiz Padilha Junior
> Desenvolvedor Java - J2EE
> Immediate Consultoria e Sistemas
> http://www.immediate.com.br
> Ciencia da Computacao - ULBRA
> <Quote>
> Rejeitamos reis, presidentes e votos. Acreditamos em puro consenso e
codigo eficiente. - Dave Clark
> </Quote>
> <Quote>
> One exam does not a (J2EE) architect make. - Master Yoda
> </Quote>
> </Padilha>
>
>
> ---------------------------------------------------------------------
> Para cancelar a subscri��o, envie mensagem para:
[EMAIL PROTECTED]
> Para comandos adicionais, envie mensagem para:
[EMAIL PROTECTED]
>

---------------------------------------------------------------------
Para cancelar a subscri��o, envie mensagem para:
[EMAIL PROTECTED]
Para comandos adicionais, envie mensagem para:
[EMAIL PROTECTED]






---------------------------------------------------------------------
Para cancelar a subscri��o, envie mensagem para:
[EMAIL PROTECTED]
Para comandos adicionais, envie mensagem para:
[EMAIL PROTECTED]

---------------------------------------------------------------------
Para cancelar a subscri��o, envie mensagem para: [EMAIL PROTECTED]
Para comandos adicionais, envie mensagem para: [EMAIL PROTECTED]

Responder a