Questao Garbage Collector  XML
Índice dos Fóruns » Certificação Java
Autor Mensagem
Slaydy
Thread.start()

Membro desde: 26/01/2005 18:10:09
Mensagens: 36
Localização: São Paulo - SP
Offline

Quantos objetos serão elegíveis para o Garbage Collector na linha 12??




Eu respondi "mais de 3", pq contei todos os "Objeto.a" que receberam valor null mas a resposta certa é "1".
Não entendi!!
As variáveis de referência que receberam null na construção dos objetos não ficarão elegíveis, porque ??
Então, único objeto que será elegivel é "a2.a"???

Help me please!!!

Laydy
[MSN]
GabrielCardelli
GUJ Ranger
[Avatar]

Membro desde: 25/10/2008 13:07:31
Mensagens: 823
Localização: Rio de Janeiro
Offline

tambem to com essa duvida nas minhas contas foram 2.

Gabriel Cardelli
http://www.opengti.com.br
[Email]
schmidt
JavaChild
[Avatar]

Membro desde: 21/04/2005 11:02:51
Mensagens: 149
Localização: Ctba/PR
Offline

Concordo com a resposta do livro, 1 é correto mesmo.

Quais as referências não nulas, tirando "a2.a=null;" ??
[MSN]
brrodo
JavaTeenager

Membro desde: 07/02/2009 23:31:16
Mensagens: 173
Offline

O único objeto elegiado ao GC é o que está referenciado por "a2.a". Após essas duas linhas aqui:



Eu respondi "mais de 3", pq contei todos os "Objeto.a" que receberam valor null mas a resposta certa é "1".

Você não pode considerar dessa maneira, pois quando passa "null", vc está atribuindo este valor a uma variável "a" que não faz referência a nenhum objeto, ou seja, elas ainda não foram inicializadas. Não há perda de referência de nenhum objeto ao passar "null" a essas variáveis antes de ser atribuído um valor a elas.

Espero q tenha ficado claro.


This message was edited 1 time. Last update was at 23/05/2009 22:56:47

Lavieri
GUJ Master
[Avatar]

Membro desde: 27/01/2004 13:39:31
Mensagens: 1851
Localização: João Pessoa / PB
Offline

vamo la davagarinho...














Portanto... na linha 12... ninguem mais referencia o objeto 2 ... e só ele esta elegivel para a coleta

e como vc pode ver... a1 e a3 referencia obj3 ... a2 referencia obj1 ... obj3.a referencia obj4 .... portanto obj1,obj3 e obj4 não são elegiveis para a coleta

This message was edited 13 times. Last update was at 24/05/2009 07:32:38


Sun Certified Java Programmer (SCJP 6)

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
-Martin Fowler et al, Refactoring: Improving the Design of Existing Code, 1999

Meu blog -> http://blog.tomazlavieri.com.br/
[ICQ]
Slaydy
Thread.start()

Membro desde: 26/01/2005 18:10:09
Mensagens: 36
Localização: São Paulo - SP
Offline

Acho que eu estava pensando ao contrario, distorcendo o conceito! eu não tenho que contar quantas variaveis de referencia ficaram nulas e sim quantos objetos existem e não estão sendo referenciados por ninguem!!

Agora ficou mais claro!

Ah, adorei esse passo a passo, é um teste de mesa mais descritivo, oq eu fiz só estava me confundindo mais.rs vai me ajudar a resolver esse tipo de questão no meu exame (28/05 ..ta chegando )

Agora entendi, muito obrigada a todos!

This message was edited 2 times. Last update was at 24/05/2009 07:13:06


Laydy
[MSN]
deyvid
JavaChild
[Avatar]

Membro desde: 11/08/2006 19:34:07
Mensagens: 129
Offline

É verdade! a resposta é a2.a. Não responder porque a questão já foi respondida pelos nossos colegas. Muito boa essa questão
[MSN]
 
Índice dos Fóruns » Certificação Java
Ir para:   
Powered by JForum 2.1.8 © JForum Team