जब आप के साथ काम जावा, सामान्य रूप से के साथ छोटी परियोजनाओं, के लिए चिंता करने की कोई जरूरत स्मृति कि आप उपलब्ध है या आप उपयोग कर रहे हैं. लेकिन वहाँ जो में परियोजना है एक समय आता है थोक और की जरूरत है स्मृति उसी के वृद्धि, और नहीं आमतौर पर ऐसा रैखिक.
इस परियोजना में जो आप कर रहे हैं जो भी है, हमेशा करने के लिए सुविधाजनक है एक अच्छे प्रबंधन के स्मृति और, संभव सीमा तक, संदर्भ को हटाएँ कि का उपयोग करने के लिए वापस जाने के लिए नहीं जाना है, इस प्रकार की अनुमति कचरा के कलेक्टर उसी का संसाधन जारी.
यहां तक कि ले जा रहा एक अच्छा नियंत्रण भिन्न चर और अपने प्रोजेक्ट में ऑब्जेक्ट की, अच्छी तरह से पता है के लिए कुछ स्थितियों में क्या उपाय को प्रभावित कीमती संसाधन स्मृति. ऐसा करने के लिए, हम हम इसे देख सकते हैं के रूप में व्याख्या करने के लिए जा रहे हैं नि: शुल्क मेमोरी, इस्तेमाल किया, कुल और अधिकतम के वातावरण जावा आभासी मशीन जबकि हमारे कोड चलाता है.
ऐसा करने के लिए, हम बनाने जा रहे हैं का उपयोग करें अनुप्रयोग रनटाइम वातावरण, डेटा प्राप्त करने में ही मांगी. आप क्या हम में अगला दिखाएँ कोड उदाहरण के लिए:
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"); } |
जैसा कि आप कोड में देख सकते हैं, पहली बात हम क्या है एक चर बनाएँ प्रकार पूर्णांक मान के साथ 1024 * 1024, या क्या एक ही है, 1 MB. के रूप में स्मृति आ रहा है बाइट्स, करने के लिए यह विभाजित यह चर द्वारा परिणाम हम में प्रदर्शित किया जाएगा मेगाबाइट.
बाद में, हम चर को असाइन करें रनटाइम वर्तमान अनुप्रयोग निष्पादन पर्यावरण, तब के लिए, कंसोल द्वारा मुद्रित करें los datos pertenecientes a las भिन्न मान के स्मृति चाहता था:
- runtime.maxMemory() – स्मृति हो जाता है अधिकतम.
- runtime.totalMemory() – स्मृति हो जाता है कुल.
- runtime.freeMemory() – स्मृति हो जाता है नि: शुल्क.
का मान प्राप्त करने के लिए स्मृति वर्तमान में इस्तेमाल किया बस घटाना होगा, करने के लिए स्मृति कुल, स्मृति नि: शुल्क.
इस रास्ते में, में किसी भी समय अपने अनुप्रयोग के निष्पादन में, आप इसे रिकॉर्ड कर सकते हैं स्मृति की मात्रा जो कुछ निश्चित परिस्थितियों में पर पहुँचा जा सकता है भस्म अपने कोड.