Gestión de memoria de la máquina virtual de Java

Al espacio de memoria donde Java almacena objetos se denomina heap. El heap se crea cuando la maquina virtual de java, JVM, se inicia, y puede aumentar o disminuir de tamaño durante la ejecución de la aplicación. Cuando se llena este espacio de memoria Java inicia el proceso de recolección de basura, Garbage Collector. Durante la recogida de basura, los objetos que ya no se utilizan son eliminados, creando así espacio para nuevos objetos. La JVM puede iniciarse con unos parámetros para gestionar la memoria. Con Xmx configuramos el tamaño máximo del heap y con Xms el tamaño mínimo. La JVM tiene, también, un espacio permanente para alojar objetos, el Permanent Generation o Metaspace desde Java 8. Será el espacio donde se alojan las clases y los métodos. Un ejemplo de configuración de estos parámetros sería como sigue:

-Xms256m -Xmx1024m -XX:PermSize=512m -XX:MaxPermSize=512m