Memory-Mapped Files en Java

Los Memory-mapped files son un tipo especiales de ficheros que permiten a los programas Java acceder a contenidos directamente desde la memoria, lo que permite mapear un fichero completo o una parte en memoria y que sea el Sistema operativo el que se encargue de hacer la petición de paginado.

La memoria usada para cargar Memory mapped file está fuera del Java Heap Space.

El uso de Memory-Mapped files tiene ventajas como el rendimiento y el que puedan cargar ficheros más grandes que la memoria de Heap, como inconvenientes es que se incrementa el número de páginas del SO y puede llegarse a un page fault.

Con un memory-mapped file trabajas con el fichero como si estuviese en memoria y accedes a él como si fuere un array muy grande.

Veamos un ejemplo:

Deja un comentario