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]
