¿Dónde se almacena la invocación del constructor? ¿Pila o montón?

Cuando se crea un objeto y se llama al constructor, ¿dónde se almacena la invocación del constructor? ¿Está en una stack o montón?

El montón es sólo para almacenar objetos. No hay manera de invocar al constructor en el montón.

Su invocación se hace en la stack.

La stack se utiliza en la llamada de método. Se utiliza para crear stacks de métodos. Aunque el constructor no es un método. Pero siempre puedes escribir cualquier lógica o tarea como siempre se hace en cualquier método. Así que se implementa en una stack como cualquier otro método.

Los parámetros y las variables locales para la llamada del constructor se almacenan en la stack hasta que el constructor vuelve.

El objeto que crea el constructor se almacena en el montón 1 .


1 – … a menos que tenga habilitado el “análisis de escape”, y el comstackdor JIT puede determinar que el objeto se puede asignar de forma segura en la stack.

El área de datos de tiempo de ejecución en JVM para la stack y el montón es la siguiente:

1) Montón: área de almacenamiento para objetos. (Una por instancia de JVM)

2) Pila de Java: el almacenamiento es para variables locales, resultados de operaciones intermedias (una por subproceso)