परफॉर्मेंस मेट्रिक्स और मापन

Java में कोड ऑप्टिमाइज़ करना

Pavlos Kosmetatos

Lead Engineer @Wealthyhood

समय मापन से आगे

  • पिछले वीडियो
    • ऑपरेशनों में लगा समय मापें
    • JVM में मेमोरी मैनेजमेंट
  • समय मापन से आगे
  • मेमोरी मेट्रिक्स
  • CPU उपयोग मेट्रिक्स
Java में कोड ऑप्टिमाइज़ करना

Runtime के साथ मेमोरी मेट्रिक्स

// Get the Runtime instance
Runtime runtime = Runtime.getRuntime();


// Memory metrics in bytes long totalMemory = runtime.totalMemory(); // Memory currently allocated long freeMemory = runtime.freeMemory(); // Memory that is unused long maxMemory = runtime.maxMemory(); // Maximum memory JVM will attempt to use
  • सभी long नंबर लौटाते हैं जो bytes दर्शाते हैं
Java में कोड ऑप्टिमाइज़ करना

मेमोरी मेट्रिक्स समझना

  • maxMemory(): अधिकतम मेमोरी जिसे JVM उपयोग करने की कोशिश करेगा ( -Xmx से सेट)
  • totalMemory(): JVM को वर्तमान में आवंटित मेमोरी
  • freeMemory(): अनुपयोगी मेमोरी
  • usedMemory(): totalMemory - freeMemory
  • ज़रूरत पर JVM totalMemory को maxMemory तक बढ़ा सकता है
Java में कोड ऑप्टिमाइज़ करना

प्रैक्टिकल में मेमोरी मेट्रिक्स

// Create a utility method for readable memory values
public static double getUsedMemoryMB() {
    Runtime runtime = Runtime.getRuntime();
    long memory = runtime.totalMemory() - runtime.freeMemory();
    return memory / (1024.0 * 1024.0);  // Convert to MB
}

// After allocation
System.out.println("Memory used: " + getUsedMemoryMB() + " MB");
Memory used: 5.23 MB
Java में कोड ऑप्टिमाइज़ करना

CPU उपयोग मापन

import java.lang.management.*;

ThreadMXBean threadMXBean = ManagementFactory.getThreadMXBean();

// Check if CPU time measurement is supported if (threadMXBean.isThreadCpuTimeSupported()) { // Enable CPU time measurement threadMXBean.setThreadCpuTimeEnabled(true); // Get CPU time in nanoseconds long cpuTimeNs = threadMXBean.getThreadCpuTime(Thread.currentThread().threadId()); }
Java में कोड ऑप्टिमाइज़ करना

Java प्रोफाइलिंग टूल्स

  • JVisualVM: मेमोरी, CPU आदि मॉनिटर करने के लिए विज़ुअल इंटरफेस
  • jmap: कमांड-लाइन मेमोरी विश्लेषण टूल
  • ये टूल्स हमारी साधारण मेट्रिक्स से आगे जाते हैं!
Java में कोड ऑप्टिमाइज़ करना

अभ्यास करते हैं!

Java में कोड ऑप्टिमाइज़ करना

Preparing Video For Download...