एक मॉड्यूल Java 9 . में पेश की गई एक महत्वपूर्ण अवधारणा है . इस अवधारणा का उपयोग करके, हम कोड को छोटे घटकों में विभाजित करने में सक्षम हो सकते हैं जिन्हें मॉड्यूल . कहा जाता है . इसलिए, प्रत्येक मॉड्यूल की अपनी जिम्मेदारी होती है और ठीक से काम करने के लिए अन्य मॉड्यूल पर अपनी निर्भरता की घोषणा करता है। मॉड्यूल घोषित करने के लिए, हमें "मॉड्यूल-info.java . को शामिल करना होगा " फाइल टू रूट सोर्स कोड।
कुछ प्रकार की "आवश्यकता . हैं "मॉड्यूल-जानकारी . में खंड "फ़ाइल
1) आवश्यकता है <मॉड्यूल : डिफ़ॉल्ट रूप से, मॉड्यूल मॉड्यूल-पथ . में मौजूद अन्य मॉड्यूल को नहीं जानता है . इसलिए, हमारे मॉड्यूल-info.java में एक पंक्ति जोड़ना आवश्यक है:"आवश्यकता " हर बार जब हम दूसरे मॉड्यूल को एक्सेस करना चाहते हैं।
module com.tutorialspoint.gui { requires com.tutorialspoint.model; requires java.desktop; }
2) के लिए सकर्मक <मॉड्यूल>: . की आवश्यकता है हमारे मॉड्यूल "com.tutorialspoint.model . के मामले में ":निर्यात किए गए इंटरफ़ेस प्रकार के मॉड्यूल लौटाता है "com.core "। इसलिए, कोई भी मॉड्यूल जो उपयोग करना चाहता है तो उसे "com.core . की भी आवश्यकता होती है " संकलन त्रुटियों के साथ इस दूसरे मॉड्यूल की कक्षाओं तक पहुँचने के लिए। Java 9 कीवर्ड "संक्रमणीय . की अनुमति देता है " यह इंगित करने के लिए कि ट्रांज़िटिविटी द्वारा। उपयोगकर्ता "com.tutorialspoint.model "com. कोर " जो कार्यान्वयन में आसानी से बदलाव की अनुमति देता है।
module com.tutorialspoint.model { requires transitive com.core; }
3) स्थिर की आवश्यकता है <मॉड्यूल> : कीवर्ड "स्थिर की आवश्यकता है "वैकल्पिक निर्भरता की अवधारणा का प्रतिनिधित्व करता है ऐसा मॉड्यूल है:
- संकलन के समय अनिवार्य: यदि संकलन के समय पथ मॉड्यूल में मॉड्यूल मौजूद नहीं है तो संकलन त्रुटि उत्पन्न की जा सकती है।
- रनटाइम पर वैकल्पिक: एक आवेदन शुरू होने पर मॉड्यूल को विवेक जांच चरण में ध्यान में नहीं रखा जा सकता है। मॉड्यूल मौजूद न होने पर भी आवेदन शुरू होता है।
उदाहरण के लिए, हम किसी एप्लिकेशन के डेटा की दृढ़ता का प्रस्ताव करना चाहते हैं, या तो किसी ओरेकल में डेटाबेस या h2डेटाबेस ।
module com.tutorialspoint.model { requires static ojdbc requires static h2daabase.h2; }