Sergio,
Pelo que eu estudei, você poderia marcar X para garbage collector setando null para a variável.
Agora o X que está sem referencia ficaria esperando para ser coletado na fila. Pois o mesmo está sem referencia alguma.
Uma fonte confiável me disse que caso isso aconteça, o bytecode correspondente nem chega a ser gerado.
Será que tá certo?
Rafael_Nunes
Bytecode do que, da String concatenada?
P
Popeye12345
é, do objeto string sem var de referencia.
sergiotaborda
Sergio Figueras:
Uma fonte confiável me disse que caso isso aconteça, o bytecode correspondente nem chega a ser gerado.
Será que tá certo?
Não. Bytecode não tem nada a ver com variáveis. O bytecode de String já existe na JVM indepentemente de quantas strings existem( existe, mesmo que nenhuma exista).
Quando vc chama concat() isso gera uma nova string. E sim, não ha referencia externa a ela ( mas ha interna). E sim será limpa pelo CG.
Se existe uma otimização que remove a string da memoria assim que a JVM entende que ela não será atribuida a coisa alguma, não é da nossa conta. E se existir isso, não deixa de ser um trabalho do GC. Logo, dizer que o GC dá conta é suficiente.
E
estundidher
Cara tudo vai depender do SO que você esta utilizando, já fiz teste em outro SO sem ser o Windows e não foi qualificado, porém no windows é qualificado.
No livro da Katyi fala que é qualificado, porém isso depende do SO.
Fica tranquilo que uma dessa não cai na prova.
Marck
Olá!
Por favor, alguém conhece um bom livro sobre Garbage Collector que possa indicar?
obrigado!
P
Popeye12345
Marck:
Olá!
Por favor, alguém conhece um bom livro sobre Garbage Collector que possa indicar?
:x
parece besteira, mas preciso entender bem como ele trabalha p argumentar contra os caras aqui da empresa que odeiam java e veneram o c#…rsss :shock: :x
…é q os caras tem uma ideia mto resumida do garbage e tenho certeza que não é o que dizem…
vou dar uma olhada no que vc falou!
obrigado!
P
Popeye12345
rsrsrs…
Entendo, mas qualquer coisa você só contra-argumenta como as threads funcionam em .NET e como as threads funcionam em Java/Linux, rsrsrs.