java - Questions on compile- and run-time dependencies and their resolution? -


मेरे पास निम्न प्रश्न हैं:

  1. सामान्य तौर पर: संकलन- और रन-
  2. कैसे javac संकलक संकलन-समय निर्भरता संकल्प करता है
  3. कैसे वी एम रनटाइम-निर्भरता रिज़ॉल्यूशन
< पी> मैंने "निर्भरता" के लिए जेएलएस और जेवीएमएस स्किम्ड किया है, लेकिन कुछ भी नहीं आया है।

< Blockquote>

सामान्य में: क्या संकलित- और रन-टाइम निर्भरता है

  • संकलित समय निर्भरता : आपको निर्भरता की आवश्यकता है आपके विरूद्ध को संकलित करने के लिए अपने CLASSPATH में उनका उत्पादन किया जाता है क्योंकि आपके पास कुछ कोड के लिए नया कॉल करना, विस्तार या कार्यान्वयन कुछ (प्रत्यक्ष या अप्रत्यक्ष रूप से) या विधि कॉल <<>

  • रन-टाइम निर्भरता : आपको अपने

    पर निर्भरता की आवश्यकता < कोड> क्लासस्पैट अपने विरूपण साक्ष्य को चलाने के लिए उनका उत्पादन किया जाता है क्योंकि आप कोड निष्पादित करते हैं जो निर्भरता तक पहुंचता है (या तो हार्डकोड तरीके से या प्रतिबिंब के माध्यम से या जो कुछ भी)।

  • पी> आवश्यक निर्भरता को खोजने के लिए यह आपकी कक्षा और स्रोतपथ को देखता है।

    कैसे वी एम रनटाइम-निर्भरता रिज़ॉल्यूशन

    JVM निर्भरता के समाधान के साथ बिल्कुल संबंधित नहीं है, AFAIK। जेवीएम क्या करता है कक्षा की कक्षाओं को जब वे आवश्यक हैं लोड करने के लिए है उदाहरण के लिए, जब आपका प्रोग्राम (क्लास ए) पहली बार हिट करता है:

      // वर्ग ए एफ एक्स = नया एफ (42);  

    वर्ग एफ लोड किया जाएगा।

    यदि क्लास नहीं मिला है, तो आपको एक ClassNotFoundException प्राप्त होता है। यदि आपने A और निष्पादन के संकलन के बीच एफ क्लास बदल दिया है, और उदाहरण के लिए, F (int) कन्स्ट्रक्टर, तो आपको कई भिन्न बदसूरत अपवाद मिलते हैं।


Comments