na verdade o GC n�o tem garantia de ser executado, em nenhum sistema
operacional - isso � pergunta certa em provas de certifica��o...

voc� pode at� instanciar a JVM com um par�metro para desligar o GC

mais em:

http://java.sun.com/docs/books/tutorial/java/data/garbagecollection.html


> Ol� Regis,
>
>     Se o ambiente for windows com nada garante que a VM rode o gc, isso �
> verdade e foi muito bom vc ter lembrado. No caso de linux e solaris, o gc
> �
> executado sim no momento em que se chama o m�todo System.gc().
>     Sem mais,
>
>     pablo
>
> ----- Original Message -----
> From: "Regis Melo" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Sunday, October 10, 2004 9:36 PM
> Subject: Re: [cejug-discussao] Executar o Object.finalize()
>
>
>> S� 1 obs...
>>
>> O System.gc() n�o roda o garbage colector. Ele solicita que a VM rode
>> mas nada garante que ela ir� rodar naquele momento, blz?
>>
>> []'s,
>>
>> Regis
>>
>> Pablo wrote:
>>
>> >Bom dia pessoal,
>> >
>> >    Regis tenta utilizar estas duas linhas abaixo ap�s a execu��o do
>> seu
>> >execut�vel delphi talvez funcione.
>> >
>> >                        System.runFinalization();  // aqui vc for�a a
>> jvm
> a
>> >execucar o m�todo finalize dos m�todos pendentes...
>> >                        System.gc();  // arqui vc for�a a execu��o do
>> gc
>> >
>> >    espero ter ajudado.
>> >    sem mais,
>> >
>> >    pablo
>> >
>> >
>> >
>> >----- Original Message -----
>> >From: "Regis Melo" <[EMAIL PROTECTED]>
>> >To: <[EMAIL PROTECTED]>
>> >Sent: Sunday, October 10, 2004 6:43 AM
>> >Subject: Re: [cejug-discussao] Executar o Object.finalize()
>> >
>> >
>> >
>> >
>> >>O problema � que s�o dois processos separados. O SO est� executando
>> dois
>> >>programas distintos.
>> >>
>> >>N�o vejo muita forma de automatizar isso. Vc vai ter q explicitamente
>> >>matar o outro processo, sim.
>> >>
>> >>Se vc est� pensando em JNI vc pode fazer com que o programa Delphi
>> seja
>> >>chamado do Java usando JNI. Para isso vc precisar� que ele seja
>> >>disponibilizado atrav�s de uma DLL.
>> >>
>> >>[]'s,
>> >>
>> >>Regis
>> >>
>> >>felipedes wrote:
>> >>
>> >>
>> >>
>> >>>Bem R�gis,
>> >>>
>> >>>Quando o meu programa acaba a VM encerra. Mas, o programa
>> externo(feito
>> >>>
>> >>>
>> >em Delphi) continua sua execu��o.
>> >
>> >
>> >>>A solu��o que eu estou utilizando at� agora � fazer uma chamada
> expl�cita
>> >>>
>> >>>
>> >a um m�todo do Singleton s� para destruir o processo(s� porque o
> finalize()
>> >insiste em n�o ser executado).
>> >
>> >
>> >>>public void liberaLegado() {
>> >>>   sistemaLegado.destroy(); // "sistemaLegado" � um "Process",
>> >>>                            // o mesmo onde est� rodando o EXE.
>> >>>}
>> >>>
>> >>>O que eu quero, realmente, � uma forma de liberar automaticamente os
>> >>>
>> >>>
>> >recursos que foram alocados no construtor do Singleton. Para recursos
> comuns
>> >como arquivo, objetos e conex�es n�o vi problema. O problema s�
>> aconteceu
> no
>> >caso de executar um EXE.
>> >
>> >
>> >>>EM TEMPO: Ser� que com JNI eu consigo resolver isto? Vou tentar
> enquanto
>> >>>
>> >>>
>> >aguardo ajuda.
>> >
>> >
>> >>>Falou?
>> >>>
>> >>>Felipe Cavalcante.
>> >>>
>> >>>
>> >>>De:"Regis Melo" [EMAIL PROTECTED]
>> >>>
>> >>>Para:[EMAIL PROTECTED]
>> >>>
>> >>>C�pia:
>> >>>
>> >>>Data:Wed, 06 Oct 2004 07:38:41 -0300
>> >>>
>> >>>Assunto:Re: [cejug-discussao] Executar o Object.finalize()
>> >>>
>> >>>
>> >>>
>> >>>
>> >>>
>> >>>
>> >>>
>> >>>>Qdo o programa acaba a VM encerra? Ou a VM fica executando alguma
> outra
>> >>>>tarefa?
>> >>>>
>> >>>>O finalize � executado somente no Garbage Collector - que ir�
> acontecer
>> >>>>qdo a VM terminar ou qdo ela decidir coletar o lixo.
>> >>>>
>> >>>>[]'s,
>> >>>>
>> >>>>Regis
>> >>>>
>> >>>>felipedes wrote:
>> >>>>
>> >>>>
>> >>>>
>> >>>>
>> >>>>
>> >>>>>Ol� pessoal,
>> >>>>>
>> >>>>>Tenho uma classe Singleton no meu programa. Na inicializa��o desta
>> >>>>>
>> >>>>>
>> >classe eu carrego um programa externo, que fica executando em
> "background".
>> >
>> >
>> >>>>>Quando o meu aplicativo for encerrado gostaria de encerrar tamb�m o
>> >>>>>
>> >>>>>
>> >programa externo.
>> >
>> >
>> >>>>>J� tentei colocar a finaliza��o do processo do m�todo finalize() do
>> >>>>>
>> >>>>>
>> >singleton, mas o m�todo finalize() simplesmente n�o � executado. Algu�m
> pode
>> >me ajudar?
>> >
>> >
>> >>>>>Grato,
>> >>>>>
>> >>>>>Felipe Cavalcante.
>> >>>>>
>> >>>>>
>> >>>>>
>> >
>> >
>>
>>---------------------------------------------------------------------------
> ----------------
>> >
>> >Ceara' Java User Group
>> >
>> >
>> >
>> >  Para cancelar sua assinatura, envie um e-mail para:
> [EMAIL PROTECTED]
>> >
>> >  Para mais informacoes, mande um e-mail para: [EMAIL PROTECTED]
>> >
>> >  Falar com o administrador? e-mail para: [EMAIL PROTECTED]
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>>
>>
>> --------------------------------------------------------------------------
> -----------------
>> Ceara' Java User Group
>>
>>   Para cancelar sua assinatura, envie um e-mail para:
> [EMAIL PROTECTED]
>>   Para mais informacoes, mande um e-mail para: [EMAIL PROTECTED]
>>   Falar com o administrador? e-mail para: [EMAIL PROTECTED]
>>
>>
>>
>
>
> -------------------------------------------------------------------------------------------
> Ceara' Java User Group
>
>   Para cancelar sua assinatura, envie um e-mail para:
> [EMAIL PROTECTED]
>   Para mais informacoes, mande um e-mail para: [EMAIL PROTECTED]
>   Falar com o administrador? e-mail para: [EMAIL PROTECTED]
>
>


-------------------------------------------------------------------------------------------

Ceara' Java User Group



  Para cancelar sua assinatura, envie um e-mail para: [EMAIL PROTECTED]

  Para mais informacoes, mande um e-mail para: [EMAIL PROTECTED]

  Falar com o administrador? e-mail para: [EMAIL PROTECTED] 

 


Responder a