Supongamos que tengo clase A y en clase A hago objetos de clase B y C. después de poco tiempo, el objeto de la clase A que se hizo antes es nulo. ¿Qué pasó después de System.gc () en los objetos byc de las clases B y C? ¿está listo para limpiar?

-1
DanialAbdi 6 abr. 2017 a las 10:21

2 respuestas

La mejor respuesta

Si quiere decir que tiene una instancia A que se refiere a las instancias B y C (de cualquier clase), de esta manera:

   A
  / \
 B   C

Si A es inalcanzable, y B y C son accesibles solo a través de A, todo el gráfico de objeto es elegible para GC.

2
Kayaman 6 abr. 2017 a las 07:40

Depende. Si no hay otra referencia en su programa que contenga la dirección de estos objetos A, B y C, después de llamar a System.gc (), se liberará el espacio asignado a estos objetos en la memoria.

0
DJAM Silvère Gatien 6 abr. 2017 a las 07:30