Sim, esse objeto não vai mais ter refencia em lugar nenhum, logo o garbage vai pegar ele e “picar o fumo” rsss
Ataxexe
Não necessariamente. Ele não será mais referenciado pela instância de ArrayList, mas ele pode ainda ser referenciado em outro lugar e, se assim for, o Garbage Collector não irá removê-lo da memória.
Um exemplo bestinha:
Strings="string";List<String>list=newArrayList();list.add(s);list.remove(0);// imagine que o GC passou logo após este ponto
Ali, o objeto estava referenciado pela variável s, logo, o GC não irá coletar o objeto a menos que termine o escopo da variável s.
douglaskd
o List.remove(int index), apaga a referência gravada dentro dela, e da um ultimo suspiro retornando a referência para algum objeto.
publicclassTesteGc{publicstaticvoidmain(String[]args){ArrayList<Algo>Lista=newArrayList();Algoab=newAlgo("Objeto");System.out.println(ab);// olhe a referênciaLista.add(ab);ab=null;//cortando 1 referência, agora apenas a Lista tem a referência de AlgoSystem.out.println(Lista.get(0));//olhe a referênciaAlgoSalve=Lista.remove(0);//se eu não atribuisse a referência no objeto Salve, o GC teria Exterminado o Objeto da memóriaSystem.out.println(Salve);//veja que é idêntica à referência acima, provando que é o mesmo objetoSalve=null;//o GC vai exterminar o objeto Algo, pois perdeu todas as referências}}
mauricioadl
Não necessariamente. Ele não será mais referenciado pela instância de ArrayList, mas ele pode ainda ser referenciado em outro lugar e, se assim for, o Garbage Collector não irá removê-lo da memória.
Um exemplo bestinha:
Strings="string";List<String>list=newArrayList();list.add(s);list.remove(0);// imagine que o GC passou logo após este ponto
Ali, o objeto estava referenciado pela variável s, logo, o GC não irá coletar o objeto a menos que termine o escopo da variável s.
¬¬
concordo com vc, porem a pergunta do amigo acima subentende que ela nao esta apontando em nenhum outro lugar, somente dentro da lista.
JavaDreams
Recomendo ler o capítulo do Java Use a Cabeça pois explica muito bem isso.
1 - Objeto sem referência é recolhido pelo garbage
2 - Entender a diferença de funcionamento entre referência a objeto feito por um array de tipos
e a referência feita por uma variável de tipo, exige cuidado pois é muito fácil de se confundir…