عند العمل مع جافا, normalmente con proyectos pequeños, no tienes que preocuparte por la الذاكرة que tengas disponible o la que se esté usando. Pero llega un momento en el que el proyecto se vuelve بالجملة y las necesidades de الذاكرة من نفس aumentan, و لا suele hacerlo de forma lineal.
Sea como sea el proyecto en el que estés, siempre es conveniente realizar una buena gestión لأن الذاكرة و, في هذا الإجراء الممكن, eliminar referencias que no vayamos a volver a usar, permitiendo así que el colector de basura libere los recursos de las mismas.
Aún llevando un buen control de las diferentes variables y objetos en tu proyecto, es bueno saber en qué medida afectan ciertas situaciones al preciado recurso de la memoria. للقيام بذلك, vamos a explicar como podemos ver la memoria libre, usada, المجموع و máxima del entorno de la Máquina Virtual de Java mientras ejecuta nuestro código.
للقيام بذلك, أننا سوف تجعل استخدام entorno de ejecución de la aplicación, obteniendo los datos buscados del mismo. Te lo mostramos en el siguiente مدونة مثال:
1 2 3 4 5 6 7 8 9 10 11 | public static void main (String args[]){ int dataSize = 1024 * 1024; Runtime runtime = Runtime.getRuntime(); System.out.println ("Memoria máxima: " + runtime.maxMemory() / dataSize + "MB"); System.out.println ("Memoria total: " + runtime.totalMemory() / dataSize + "MB"); System.out.println ("Memoria libre: " + runtime.freeMemory() / dataSize + "MB"); System.out.println ("Memoria usada: " + (runtime.totalMemory() - runtime.freeMemory()) / dataSize + "MB"); } |
Como puedes ver en el código, lo primero que hacemos es crearnos una variable نوع عدد صحيح con un valor de 1024 * 1024, o lo que es lo mismo, 1 ميغا بايت. Como la memoria nos va a venir en وحدات البايت, لأن dividirla por esta variable el النتيجة se nos mostrará en Megabytes.
وفي وقت لاحق, asignamos a la variable runtime el entorno de ejecución de la aplicación actual, para acto seguido, imprimir por consola los datos pertenecientes a las distintos valores من الذاكرة buscados:
- runtime.maxMemory() – Obtiene la memoria máxima.
- runtime.totalMemory() – Obtiene la memoria المجموع.
- runtime.freeMemory() – Obtiene la memoria مجاناً.
Para obtener el valor de la الذاكرة حاليا usada ببساطة restaremos, a la memoria المجموع, la memoria مجاناً.
وبهذه الطريقة, في cualquier momento en la ejecución de tu aplicación, puedes tener constancia de la cantidad de memoria que en ciertas circunstancias puede llegar a consumir tu código.