परिचय
PermGen क्लास डेटा जैसे स्टेटिक वेरिएबल, बाइट कोड आदि को स्टोर करने के लिए मेमोरी क्षेत्र है। डिफ़ॉल्ट रूप से PermGen के लिए 64 MB आवंटित किया जाता है। इसे -XXMaxPermSize का उपयोग करके ट्यून किया जा सकता है।
Java 8 में, PermGen मेथड क्षेत्र को मेटास्पेस से बदल दिया गया है। उन्होंने permGen को नेटिव OS में अलग मेमोरी में स्थानांतरित कर दिया है और इसे मेटास्पेस कहा जाता है। यह डिफ़ॉल्ट रूप से अपने आकार को ऑटो-इनक्रीज कर सकता है। मेटास्पेस में, क्लासेस JVM के जीवनकाल के दौरान लोड और अनलोड हो सकती हैं।
| क्र. सं. | मुख्य बिंदु | PermGen | मेटास्पेस |
|---|---|---|---|
| 1 | बुनियादी | PermGen क्लास डेटा जैसे स्टेटिक वेरिएबल, बाइट कोड आदि को स्टोर करने के लिए मेमोरी क्षेत्र है | Java 8 में, PermGen मेथड क्षेत्र को मेटास्पेस से बदल दिया गया है |
| 2 | डिफ़ॉल्ट मेमोरी आवंटन | डिफ़ॉल्ट रूप से PermGen के लिए 64 MB आवंटित किया जाता है | यह डिफ़ॉल्ट रूप से अपने आकार को ऑटो-इनक्रीज कर सकता है |
| 3 | ट्यून-अप मेमोरी फ्लैग | इसे -XXMaxPermSize का उपयोग करके ट्यून किया जा सकता है। | हम -XX:MaxMetaspaceSize का उपयोग करके मेमोरी की ऊपरी सीमा को प्रतिबंधित कर सकते हैं |
| 4 | मेमोरी क्षेत्र | यह एक विशेष हीप स्पेस है। | Java 8 से, यह अब नेटिव OS में अलग मेमोरी क्षेत्र है |