ordenado listas lista ligadas libre insertar fuente enlazadas enlazada doblemente con codigo arreglos java data-structures reference garbage-collection linked-list

java - ligadas - listas enlazadas ruby



Implementación de lista enlazada en Java y recolección de basura (3)

Si tengo una estructura de lista enlazada, e implemento el método clear () de la siguiente manera:

public void clear() { firstNode = null; size = 0; }

¿Aún así se recogerá correctamente la basura, o me gustaría caminar por cada nodo, estableciendo nextNode como nulo?

Ninguno de los nodos se puede referenciar directamente desde fuera de la lista enlazada, por lo que no hay ningún caso en el que haya una referencia a ninguno de ellos fuera de mi clase, pero no estoy seguro de si Java recolectará correctamente los nodos encadenados restantes.


Dado que ninguno de los nodos de la lista tiene referencias externas. Establecer firstNode en null hará que todos los nodos sean elegibles para GC ya que no habría forma de llegar a ninguno de los nodos desde una referencia externa.


Eso debería estar bien: Java maneja referencias cíclicas, etc. sin problemas.


para su información, la implementación LinkedList de Sun analiza todos los elementos de la lista y los establece en null