मेमोरी उपयोग ट्रैक करना
आप एक डेटा प्रोसेसिंग एप्लिकेशन पर काम कर रहे हैं जो ऑब्जेक्ट्स के बड़े कलेक्शन को मैनिपुलेट करता है. क्रिटिकल ऑपरेशंस के दौरान मेमोरी खपत ट्रैक करने के लिए एक मेमोरी मॉनिटरिंग यूटिलिटी इम्प्लीमेंट करें, ताकि OutOfMemoryError एक्सेप्शंस से बचा जा सके.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Java में कोड ऑप्टिमाइज़ करना
अभ्यास निर्देश
- मौजूदा JVM रनटाइम इंस्टेंस प्राप्त करें.
- रनटाइम की total memory और free memory का उपयोग करके वर्तमान में उपयोग की गई मेमोरी की गणना करें.
- मेगाबाइट्स में उपयोग की गई मेमोरी प्राप्त करने के लिए मेथड कॉल करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
public class Main {
public static double getUsedMemoryMB() {
// Retrieve the JVM runtime instance
Runtime runtime = ____.____()
// Calculate the current used memory
long usedMemoryBytes = runtime.____() - runtime.____();
return usedMemoryBytes / (1024.0 * 1024.0);
}
public static void main(String[] args) {
double memoryBefore = getUsedMemoryMB();
System.out.println("Memory before array creation: " + memoryBefore + " MB");
int size = 10_000_000;
double[] largeArray = new double[size];
for (int i = 0; i < size; i++) {
largeArray[i] = Math.sqrt(i);
}
// Get the currently used memory in megabytes
double memoryAfter = ____();
System.out.println("Memory after array creation: " + memoryAfter + " MB");
System.out.println("Memory used by array creation: " + (memoryAfter - memoryBefore) + " MB");
}
}