¿Cuál es el papel de la memoria de montón?

Hay dos formas básicas de memoria utilizadas para el almacenamiento temporal de datos: pila y montón.

La memoria de pila se asigna para variables cuando comienza una función y se recupera cuando la función regresa. Se puede asignar memoria de pila adicional durante la ejecución de la función.

La memoria del montón es un poco más permanente. Se puede asignar desde cualquier parte del programa y cuando se llama a la función de asignación de memoria, devuelve una dirección que se almacena en una variable de puntero.

Esta memoria está disponible para el programa siempre que el programador lo desee. Sin embargo, si la variable de puntero se sobrescribe o la dirección se pierde, entonces ese bit de memoria ya no se puede usar. Es reclamado por el “recolector de basura” (si el programa tiene uno) o forma una “pérdida de memoria” (memoria perdida). Cuando ya no se requiere memoria del almacenamiento dinámico, debe eliminarse correctamente si no hay un recolector de basura.

En Java, la JVM tendrá una cierta cantidad de memoria de computadora reservada para ejecutar su programa, este es el montón en su forma más simple. Simplemente el área donde se ejecutan los programas Java.

El montón puede aumentar de tamaño, pero si se llena, se inicia la recolección de basura e intenta eliminar los objetos no utilizados. Si llenas el montón más allá de su tamaño actual, entonces es cuando obtienes excepciones.

More Interesting

¿Es correcto: 100n + log (n) = O (n + (log (n)) ^ 2)?

¿Se puede implementar un mapa usando Tree? ¿Se puede implementar un mapa usando List? Esto es específico de Java, pero me gustaría conocer el enfoque general.

Cómo escribir un programa ruby ​​para mostrar los números de Armstrong en una matriz (siendo la matriz; Números = [123,124,153,370,234,23,45]

¿Cuándo es bueno representar un árbol binario como una matriz?

¿Cómo funcionan los algoritmos bayesianos para la identificación de spam?

¿Cuáles son los algoritmos más rápidos para colorear los bordes en un gráfico con max_degree + 1 colores?

¿Puede la longitud de un comando Mathematica o Wolfram | Alpha ser una aproximación aproximada de su complejidad de Kolmogorov?

¿Cuál es el mejor algoritmo para ordenar una pila de 400 exámenes de algoritmos, si tiene 16 TA?

¿Mattermark está utilizando datos para entrenar algoritmos de aprendizaje automático y modelos predictivos que pueden buscar / identificar nuevas empresas potenciales en una etapa temprana que tienen el potencial de interrumpir la industria?

¿Cuáles son ejemplos de problemas en los que entrenar un ANN es la solución óptima?

Cómo resolver este problema de matriz (detalles en la descripción)

¿Cuál es la sobrecarga máxima en el algoritmo de relleno de bytes?

¿Cómo funciona el algoritmo de vista en Quora?

¿Cómo funciona el 'algoritmo tabula rasa' de AlphaGo Zero?

¿Qué algoritmo de búsqueda usan los sitios de matrimonio en línea en India?