2013-10-17 4 views
7

main() में अनंत नींद चल रहा एक साधारण वर्ग के साथ मेरी मशीन पर एक JVM उदाहरण शुरू, पर, मैं चार प्रमुख धागे को देखने के JVM में (अलग मुख्य थ्रेड से):JVM कोर धागे

  1. संलग्न श्रोता
  2. संदर्भ हैंडलर
  3. finalizer
  4. सिग्नल डिस्पैचर
  5. DestroyJavaVM

मैं इनमें से प्रत्येक कोर जेवीएम धागे के उद्देश्य को समझने के लिए उत्सुक हूं।

  1. संलग्न श्रोता:: गतिशील देते लक्ष्य JVM में एक देते श्रोता धागा है एक त्वरित इंटरनेट खोज से, मैं इन धागों पर निम्नलिखित विवरण मिल गया। यह एक धागा है जो शुरू होता है जब पहला अनुलग्नक अनुरोध होता है।
  2. सिग्नल डिस्पैचर: जब ओएस JVM के लिए एक संकेत को जन्म देती है, संकेत डिस्पैचर धागा उचित हैंडलर के लिए संकेत पारित करेंगे।
  3. संदर्भ हैंडलर: लंबित लंबित करने के लिए उच्च प्राथमिकता धागा। जीसी संदर्भों की एक साधारण लिंक्ड सूची बनाता है जो को संसाधित करने की आवश्यकता है और यह थ्रेड उन्हें तुरंत कतार में जोड़ता है और संदर्भक्यू श्रोताओं को सूचित करता है।
  4. फ़ाइनलाइज़र: फ़ाइनलाइज़र थ्रेड फाइनलाइज़र विधियों को कॉल करता है।
  5. DestroyJavaVM: यह धागा प्रोग्राम से बाहर निकलने पर जावा वीएम को अनलोड करता है। अधिकांश समय यह इंतजार करना चाहिए।

मैं इन धागे और संदर्भ दस्तावेज (यदि ज्ञात) पर और विवरण (या समझ में सुधार) जानना चाहता हूं।

उत्तर

3

आपको काफी सही मिला है, मैं केवल एक और स्पष्टीकरण जोड़ता हूं जो संलग्नक श्रोता धागा (जो गतिशील अनुलग्नक के लिए ज़िम्मेदार है) के साथ होता है। यह ऐसा कुछ नहीं है जिसका आमतौर पर उपयोग किया जाता है, लेकिन अनिवार्य रूप से अन्य प्रक्रिया की अनुमति देता है वीएम चल रहा है के बारे में कुछ विवरण पूछने के लिए चल रहे जेवीएम के अंदर एक थ्रेड इंजेक्ट करने के लिए। यह केवल दो जावा वीएम के बीच प्रैक्टिस (जहां तक ​​मैंने देखा है) के बीच प्रयोग किया जाता है, जैसे कि डिबगिंग या प्रोफाइलिंग (या कुछ आईडीई के मामले में जो उपयोगकर्ता कोड के बारे में कुछ अन्य जानकारी प्रदर्शित करते हैं।)

ध्यान दें कि ये सभी धागे भारी कार्यान्वयन पर निर्भर हैं और अन्य वीएम (या एक ही वीएम के विभिन्न संस्करणों, या अलग-अलग विकल्पों के साथ एक ही वीएम) पर जरूरी नहीं हैं।) JVM कई या कम कोर धागे शुरू कर सकता है इसे लॉन्च पर पसंद है, उनमें से संख्या और प्रकार (मुख्य धागे से अलग) उपयोगकर्ता नियंत्रण में नहीं हैं।

+0

तो कुछ विशिष्ट पोर्ट में भी "अनुलग्नक सूची" सुन रहा है? यदि हां तो यह कौन सा है? – sactiw