jvm - Java: Why does MaxPermSize exist? -


क्यों MaxPermSize मौजूद है?

यहां कचरा कलेक्टर में स्थायी पीढ़ी पर एक अच्छा लेख है:

पर

संपादित करें:

मुझे नहीं है किसी भी चीज़ को देखा जो इंगित करेगा कि उन्होंने स्थायी पीढ़ी के आकार पर अधिकतम सीमा के लिए डिजाइन निर्णय क्यों बनाया। लेकिन मुझे लगता है कि यह कई कारणों से किया गया है।

  1. यह कार्यान्वयन करना बहुत आसान बनाता है, जीसी निश्चित रूप से गैर तुच्छ है, इसलिए किसी भी तरह से अपने कार्यान्वयन को सरल बनाने संभवतः एक अच्छा विचार है

  2. YAGNI (आपको इसकी ज़रूरत नहीं है) ज्यादातर एप्लिकेशन एक निश्चित संख्या की कक्षाएं लोड करते हैं और आमतौर पर इसकी विशेष रूप से बड़ी नहीं होती है, इसलिए वे संभवतः सामान्य मामले के लिए अनुकूलित हो गए हैं और सिर्फ एक समझदार डिफ़ॉल्ट है और इसे कॉन्फ़िगर करने योग्य है।

  3. यह मान लें कि आपके पैरा मान का आकार अप्रत्याशित रूप से बड़ा हो रहा है, तो संभवतः क्लास लोडर में एक त्रुटि हो सकती है (या फिर आर्किटेक्चर)। यहां तक ​​कि उन अनुप्रयोगों में भी जो रन-टाइम में कक्षाएं उत्पन्न करते हैं (या अन्य ऐसी चीजें करते हैं) उत्पन्न वर्गों की संख्या को भी ठीक से तय किया जाता है, इसलिए आप अपनी आवश्यकताओं को पूरा करने के लिए अधिकतर ट्यून करने में सक्षम होना चाहिए।

  4. < Li>

    मैं जावा क्लास लोडिंग और कूड़ा संग्रह के सभी विवरणों पर कोई विशेषज्ञ नहीं हूं, लेकिन वे दोनों जेवीएम के जटिल हिस्से हैं, इसलिए मुझे लगता है कि वे इन दोनों घटकों को संभवतः ओर्थोगोनल के रूप में रखने की कोशिश करेंगे और गतिशील रूप से बढ़ने के लिए पर्म सामान्य शायद दो तरीकों को जटिल तरीके से जोड़ देगा (विशेषकर, क्योंकि दोनों घटकों में गंभीर थ्रेडिंग विचार हैं)

  5. संभवत: अधिकतम कैपिंग के लिए कुछ प्रदर्शन फायदे हैं पर्म पीढ़ी, इसे बढ़ने की अनुमति देने से संग्रह की अतिरिक्त प्रतिलिपि हो सकती है, या इसका मतलब यह हो सकता है कि आपकी पर्म पीढ़ी अब एक सम्बद्ध पते की जगह में मौजूद नहीं है, जो आपके अन्य एल्गोरिदम संग्रह को प्रबंधित करने के तरीके से प्रभावित कर सकती है।

जाहिर है ये सभी अटकलें हैं लेकिन भले ही ये सब गलत हो, मैं निश्चित रूप से यह नहीं सोचता कि सूरज के लिए एक निश्चित आकार का चयन करने के लिए यह 'बेवकूफ' है, संभवत: अधिक इंजीनियरिंग और कार्यान्वयन के विचारों की तुलना में मैं भी इसका सपना देख सकता हूं):

< / div>

Comments

Popular posts from this blog

c# - sqlDecimal to decimal clr stored procedure Unable to cast object of type 'System.Data.SqlTypes.SqlDecimal' to type 'System.IConvertible' -

Calling GetGUIThreadInfo from Outlook VBA -

Obfuscating Python code? -