asignación estática en java - montón, pila y generación permanente

Últimamente he estado leyendo mucho sobre esquemas de asignación de memoria en Java, y he tenido muchas dudas al leer de varias fuentes. He recopilado mis conceptos y solicitaría revisar todos los puntos y comentarlos. Llegué a saber que la asignación de memoria es específica de JVM, así que debo decir de antemano que mi pregunta es específica de Sun.

Las clases (cargadas por los cargadores de clases) van en un área especial en el montón: generación permanenteToda la información relacionada con una clase, como el nombre de la clase, las matrices de objetos asociadas con la clase, los objetos internos utilizados por JVM (como java / lang / Object) y la información de optimización, entran en el área de generación permanente.Todas las variables miembro estáticas se mantienen nuevamente en el área de generación permanente.Los objetos van a un montón diferente: generación jovenSolo hay una copia de cada método por clase, ya sea el método estático o no estático. Esa copia se coloca en el área de generación permanente. Para los métodos no estáticos, todos los parámetros y variables locales van a la pila, y cada vez que hay una invocación concreta de ese método, obtenemos un nuevo marco de pila asociado con él. No estoy seguro de dónde se almacenan las variables locales de un método estático. ¿Están en el montón de la generación permanente? O simplemente su referencia se almacena en el área de Generación Permanente, y la copia real está en otro lugar (¿Dónde?)Tampoco estoy seguro de dónde se almacena el tipo de retorno de un método.Si los objetos (en la generación joven) necesitan usar un miembro estático (en la generación permanente), se les da una referencia al miembro estático y se les da suficiente espacio de memoria para almacenar el tipo de retorno del método, etc.

¡Gracias por pasar por esto!

Respuestas a la pregunta(1)

Su respuesta a la pregunta