Concordo Michael, deveria estar na java-list, mas
j� que estamos aqui. tenho uma corre��o a fazer : o finalize
� chamado antes do GC recolher o objeto e n�o ap�s o objeto
sair de seu escopo. H� uma grande diferen�a ... por isso
ele n�o pode ser comparado a um destrutor. concorda ?

Sobre o 'clone' n�o vou comentar, todos j� sabem...

Quanto as diretivas Michael, h� um grave problema por sua falta :
Quem j� programou em linguagens como C/C++, sempre teve �
disposi��o um meio pr�tico para gerar o c�digo para produ��o
e para desenvolvimento, o c�digo de produ��o n�o precisa
fazer logs e checar assertivas, ent�o n�o precisa das 'chamadas'
em java eu preciso fazer algo como:

if (desenvolvimento) {
    logs, assertivas etc...
}

Hoje com 1.4 posso fazer 'uma gambiarra' com o assert

assert 1=1: logs,etc...

mas n�o � correto...

N�o vamos mais alongar a discuss�o, ou podermos ir para o java-list se
algu�m quiser prosseguir.

okeys.

At� mais.




                                                                                       
                    
                      "Michael                                                         
                    
                      Nascimento               Para:    <[EMAIL PROTECTED]>            
       
                      Santos"                  cc:                                     
                    
                      <[EMAIL PROTECTED]         Assunto: Re: [enterprise-list] 
Destrutor                    
                      il.com>                                                          
                    
                                                                                       
                    
                      24/02/03 10:37                                                   
                    
                      Responder a                                                      
                    
                      enterprise-list                                                  
                    
                                                                                       
                    
                                                                                       
                    



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]






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

Responder a