Como todos sabemos os objetos em java herdam a classe Object. Na classe Object existe um metodo chamado "finalize", ou seja, todos os objetos em java possuem esse metodo por tabela.protected void finalize(){}Esse metodo e chamado toda vez que o Garbage Collector e acionado para limpar o objeto em questao. Para que um objeto esteja apto a ser eliminado pelo garbage collector o mesmo deve possar por uma das 3 hipoteses abaixo:1) Object objeto = new Object()objeto = null // O objeto passou a referenciar nulo, ou seja, a instancia antiga ja nao e mais alcancavel, tornando-a apta para a coleta 2) Object objeto = new Object();objeto = new Object(); // O objeto passou a apontar para uma nova referencia em memoria, ou seja, a referencia anterior ja nao e mais alcancavel em memoria, portanto a mesma esta pronta para a coleta de lixo3) Ilhas de isolamento: Essas ilhas ocorrem quando uma classe possui uma variavel de referencia para outra classe. Quando um objeto da primeira classe for criado, automaticamente uma referencia para a segunda classe sera criada, porem se a referencia para o primeiro objeto for perdida, ainda existira uma referencia do primeiro para o segundo objeto. O garbage collector consegue distinguir uma ilha de isolamento e nessas condicoes mesmo que uma aponte para a outra, o inicio da fila (referencia para o primeiro elemento) foi perdida e nada mais podemos fazer com esses objetos, portanto o GC limpara os dois objetos.Existe uma regra muito interessante com relacao ao GC e o metodo "finalize" que pouca gente conhece. Quando o GC e ativado o metodo "finalize" e chamado automaticamente no intuito de remover o objeto em questao, porem e possivel ressuscitarmos o objeto, impedindo que o mesmo se perca pelo GC conforme exemplo abaixo:protected void finalize(){//Metodo estatico que guarda a variavel de instancia corrente em uma variavel estatica do sistema ClasseRessuscitadora.ressuscitar(this);}No caso acima a referencia do objeto em questao sera salva por uma variavel estatica atraves do metodo "ressuscitar" e nao sera perdida, portanto e possivel dizermos que o objeto sera ressuscitado. Mas se fizermos a implementacao acima o sistema nao entrara em looping e o objeto nunca sera eliminado ?? NAO. E neste ponto que entra uma das regras mais interessantes do GC. Ja pensando nessa possibilidade esse metodo so pode ser interceptado uma UNICA vez, ou seja, a proxima vez que o GC tentar limpar esse objeto o mesmo nao passara pelo "finalize" e limpara o objeto incondicionalmente.Espero que tenham gostado!Abracos pessoal ! Ola pessoal, hoje vou demonstrar como criar um web service utilizando protocolo SOAP em poucos minutos. Esse tutorial fara uso do eclipse JUNO como material, porem o mesmo pode ser feito em versoes anteriores ao JUNO sem nenhum problema.O Web Service que criaremos exige que baixemos o AXIS2 que pode ser encontrado no seguinte URL:http://axis.apache.org/axis2/java/core/download.cgiApos baixa-lo, descompacte e coloque em um lugar da sua preferencia.No eclipse va na aba WINDOW->PREFERENCES->WEB SERVICES-> AXIS2 PREFERENCES. Clique no botao "Browse..." para localizar o arquivo recem baixado. Aponte para o arquivo baixado e clique em "Ok".Pronto o eclipse ja esta