Quando eu declaro objetos dentro de uma classe e através de outra classe eu faço a instancialização dessa que tem os objetos, quando o garbage collection atua ele pega os objetos declarado? por exemplo, tenho esses dois exemplos abaixo o primeiro ele coleta apenas um objeto e o segundo? ele coleta 1 ou 3?
class Obj1{
}
public class A{
public static void main(String [] args){
Obj1 obj1 = new Obj1();
Obj1 ob2 = obj1;
obj1 = null;
obj2 = null;
//Neste exemplo um objeto foi coletado
}
}
class Obj1{
int[] array = new int[3];
Obj2 obj2 = new Obj2();
}
public class A{
public static void main(String [] args){
Obj1 obj1 = new Obj1();
Obj1 ob2 = obj1;
obj1 = null;
obj2 = null;
//Neste exemplo qual o numero de objeto coletado ? 3 ? ou 1?
}
}