Saudações!
Já entendi o ciclo de vida de objetos e variáveis, porém não achei nada relacionado ao ciclo de vida de métodos e Construtores.
O Construtor de uma classe permanece em “memória” durante toda a vida do objeto ou é “liberado” após o término ou retorno?
Cenário hipotético:
public class formPai {
private AlgumaCoisa objAc;
... demais atributos
public formPai(){
...
objAc = new AlgumaCoisa();
...
}
}
public class AlgumaCoisa {
//atributos diversos
public AlgumaCoisa(){
... 400 linhas de código ... criações, IFs, loops, coisas, coisas ...
... atribuições diversas
...
}
... métodos diversos
}
As 400 linhas de código do construtor de AlgumaCoisa irão permanecer em memória enquanto o objeto AlgumaCoisa existir em frmPai?
Ou seria melhor fazer o seguinte?
public class AlgumaCoisa {
... atributos diversos
public AlgumaCoisa(){
AlgumaCoisaAux aux = new AlgumaCoisaAux();
... 20 linha de código ... atribuições diversas
aux = null;
}
... métodos diversos
}
public class AlgumaCoisaAux {
public AlgumaCoisaAux(){
... 380 linhas de código ... criações, IFs, loops, coisas, coisas ...
}
...
}
Não estou questionando legibilidade de código ou programação elegante, apenas procurando entender como é feita a alocação e liberação de memória pelo Java. O cenário é em relação aos Construtores, porém comentários relacionados a métodos serão bem-vindos.