elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Dudas sobre GC
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Dudas sobre GC  (Leído 1,364 veces)
Carlosjava

Desconectado Desconectado

Mensajes: 16


Ver Perfil
Dudas sobre GC
« en: 26 Julio 2015, 12:52 pm »

Which is the earliest line in the following code after which the object created on the //1 can be garbage collected, assuming no compiler optimizations are done?


Código
  1. public class NewClass
  2. {
  3.   static String enterTheDragon()
  4.   {
  5.      String a = new String("hello");
  6.      String b = new String("world !");  // 1
  7.      String c = new String(a + b + ""); // 2
  8.      String d = b;  // 3
  9.      b = a; // 4
  10.      d = a; // 5
  11.      return c;  // 6
  12.   }
  13.   public static void main(String args[])
  14.   {
  15.      String s = enterTheDragon(); // 7
  16.      System.out.println(s);       // 8
  17.   }
  18. }

la respuesta es la linea 5 pero no entiendo porque, necesitaria q alguien me lo explicara q es exactamente lo q hace el garbage collector, gracias

Mod: Los códigos deben ir en GeSHi


« Última modificación: 26 Julio 2015, 15:51 pm por engel lex » En línea

Usuario Invitado


Desconectado Desconectado

Mensajes: 625



Ver Perfil
Re: Re: Dudas sobre GC
« Respuesta #1 en: 26 Julio 2015, 17:22 pm »

1. String 'b' es creado.
2. String 'c' es creado.
3. String 'd' referencia a 'b'.
4. String b referecia a 'a'.
5. String d referencia a 'a'.

¿En la línea 5 quién referencia al objeto b?

Nadie. Es por esto que en la línea 5 el objeto b es candidato a recolección. Una variable u objeto es candidato a recolección cuando ningún otra variable u objeto hace referencia a él. Por lo tanto, cuando d deja de apuntar a b, automáticamente b se vuelve candidato para recolección.


En línea

"La vida es muy peligrosa. No por las personas que hacen el mal, si no por las que se sientan a ver lo que pasa." Albert Einstein
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines