El colector automático de basura de Java es algo distinto a malloc/free en C, dado que puede "mover" objetos después de que se les haya sido asignada la memoria necesaria.