Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Java

Java 9 में मॉड्यूल डिस्क्रिप्टर का महत्व क्या है?

मॉड्यूल डिस्क्रिप्टर क्या है?

एक मॉड्यूल कोड का संग्रह है जो पैकेजेस में व्यवस्थित क्लासेस और स्टेटिक रिसोर्सेज (प्रॉपर्टी फाइल्स आदि) के रूप में होता है। यह बाहरी वातावरण को वह सभी जानकारी प्रदान करता है जो उस मॉड्यूल का उपयोग करने के लिए आवश्यक हो सकती है। मॉड्यूल डिस्क्रिप्टर मॉड्यूल सिस्टम का एक प्रमुख स्रोत है, और यह मॉड्यूल की रूट डायरेक्टरी में module-info.java फाइल में निर्दिष्ट मॉड्यूल डिक्लेरेशन का संकलित संस्करण है।

मॉड्यूल डिक्लेरेशन उदाहरण

module com.myproject.module1 {
    requires com.myproject.module2;
    exports com.myproject.project1;
    exports com.myproject.project2;
}

मॉड्यूल डिस्क्रिप्टर के घटक

  • module module.name: module.name नामक मॉड्यूल घोषित करता है।
  • requires module.name: निर्दिष्ट करता है कि हमारा मॉड्यूल module.name पर निर्भर करता है, इस मॉड्यूल को टार्गेट मॉड्यूल में निर्यात किए गए पब्लिक टाइप्स तक पहुंचने की अनुमति देता है।
  • requires transitive module.name: इस मॉड्यूल पर निर्भर करने वाला कोई भी मॉड्यूल स्वचालित रूप से module.name पर निर्भर करता है।
  • exports pkg.name: हमारा मॉड्यूल पैकेज pkg.name में पब्लिक मेंबर्स को इस मॉड्यूल की आवश्यकता वाले हर मॉड्यूल के लिए निर्यात करता है।
  • exports pkg.name to module.name: उपरोक्त जैसा ही, लेकिन केवल विशिष्ट मॉड्यूल्स को पैकेज pkg.name से पब्लिक मेंबर्स उपयोग करने की अनुमति देता है।
  • uses class.name: वर्तमान मॉड्यूल को सर्विस class.name के लिए उपभोक्ता बनाता है।
  • provides class.name with class.name.impl: class.name.impl क्लास को class.name सर्विस का कार्यान्वयन प्रदान करने वाली सर्विस के रूप में पंजीकृत करता है।
  • opens pkg.name: अन्य मॉड्यूल्स को रिफ्लेक्शन का उपयोग करके पैकेज pkg.name के प्राइवेट मेंबर्स तक पहुंचने की अनुमति देता है।
  • opens pkg.name to module.name: वही कार्य, लेकिन केवल विशिष्ट मॉड्यूल्स तक रिफ्लेक्शन एक्सेस सीमित करता है।

मॉड्यूल डिस्क्रिप्टर मजबूत एनकैप्सुलेशन और स्पष्ट निर्भरता प्रबंधन को सक्षम बनाता है।

  1. - जावा में पूर्वनिर्धारित क्लास नाम को क्लास या वेरिएबल नाम के रूप में उपयोग करना

    पूर्वनिर्धारित क्लास नाम को क्लास नाम के रूप में उपयोग करना उदाहरणpublic class Number { public static void main(String[] args) { System.out.println(पूर्वनिर्धारित क्लास नाम को क्लास नाम के रूप में उपयोग किया जा सकता है); } } आउटपुट पूर्वनिर्धारित क्लास नाम को क्लास नाम के रूप म

  1. - Java में HashSet का महत्व

    HashSet डेटा में हेरफेर करने के लिए हैशिंग का उपयोग करता है। आइए एक उदाहरण देखें:उदाहरणimport java.util.*; public class Demo{ private final String f_str, l_str; public Demo(String f_str, String l_str){ this.f_str = f_str; this.l_str = l_str; } public boolean equals(Object o){ if (o instanceof Demo)

  1. Java 9 में destroyForcibly() मेथड का महत्व Java 9 में destroyForcibly() मेथड का महत्व

    Java 9 ने Process क्लास में destroyForcibly() मेथड पेश किया जो प्रक्रियाओं को बलपूर्वक समाप्त करने का एक विश्वसनीय तरीका प्रदान करता है जब सामान्य destroy() (विनम्र समाप्ति) विफल हो जाता है या बहुत धीमा होता है। destroy() बनाम destroyForcibly() पहलूdestroy()destroyForcibly() सिग्नलSIGTERM