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

Java 9 में मॉड्यूल में ServiceLoader क्लास का उपयोग कब करें?


Java में java.util पैकेज से ServiceLoader क्लास है जो क्लासपाथ में खोज करके रनटाइम पर सर्विस प्रोवाइडर्स को लोकेट करने में मदद कर सकती है। मॉड्यूल में परिभाषित सर्विस प्रोवाइडर्स के लिए, हम मॉड्यूल को सर्विस के साथ घोषित करने और यह कैसे काम करता है, इसके लिए नमूना एप्लिकेशन देख सकते हैं।

उदाहरण के लिए, हमारे पास एक "test.app" मॉड्यूल है जिसे Logger का उपयोग करने की आवश्यकता है जिसे LoggerFinder सर्विस की मदद से System.getLogger() फैक्ट्री मेथड से प्राप्त किया जा सकता है।

module com.tutorialspoint.test.app {
    requires java.logging;
    exports com.tutorialspoint.platformlogging.app;
    uses java.lang.System.LoggerFinder;
}

नीचे test.app.MainApp क्लास है:

package com.tutorialspoint.platformlogging.app;
public class MainApp {
    private static Logger LOGGER = System.getLogger();
    public static void main(String args[]) {
        LOGGER.log();
    }
}

यह "test.logging" मॉड्यूल के अंदर LoggerFinder कार्यान्वयन है:

package com.tutorialspoint.platformlogging.logger;
public class MyLoggerFinder extends LoggerFinder {
    @Override
    public Logger getLogger(String name, Module module) {
        // नाम/मॉड्यूल के आधार पर Logger लौटाएं
    }
}

"test.logging" मॉड्यूल घोषणा में, हम "provides - with" क्लॉज के साथ LoggerFinder सर्विस का कार्यान्वयन प्रदान कर सकते हैं।

module com.tutorialspoint.test.logging {
    provides java.lang.System.LoggerFinder
    with com.tutorialspoint.platformlogging.logger.MyLoggerFinder;
}
  1. Java में pack() मेथड का उपयोग कब कर सकते हैं? Java में pack() मेथड का उपयोग कब कर सकते हैं?

    pack() मेथड Java में Window क्लास में परिभाषित है और यह फ्रेम को इस तरह आकार देता है कि इसकी सभी सामग्री उनके पसंदीदा आकार पर या उससे ऊपर हैं। pack() मेथड का एक विकल्प setSize() या setBounds() मेथड्स को कॉल करके फ्रेम आकार को स्पष्ट रूप से स्थापित करना है। सामान्य तौर पर, pack() मेथड का उपयोग setSiz

  1. - Java में एब्सट्रैक्ट क्लास कब उपयोग करें और इंटरफेस कब उपयोग करें?

    एक इंटरफेस का उपयोग कॉन्ट्रैक्ट बिहेवियर को परिभाषित करने के लिए किया जा सकता है और यह दो सिस्टम्स के बीच इंटरैक्ट करने के लिए कॉन्ट्रैक्ट के रूप में भी कार्य कर सकता है जबकि एक एब्सट्रैक्ट क्लास मुख्य रूप से सबक्लासेस के लिए डिफ़ॉल्ट बिहेवियर को परिभाषित करने के लिए उपयोग की जाती है, इसका अर्थ है

  1. - Java Date को फॉर्मेटेड String में बदलने के लिए SimpleDateFormat क्लास का उपयोग कैसे करें?

    Java SimpleDateFormat क्लास Java String को Date में या Date को String में कन्वर्ट करने के लिए प्रदान करती है। उदाहरण import java.util.Date; import java.text.SimpleDateFormat; import java.util.Calendar; public class SimpleDateFormatTest { public static void main(String[] args) { // आज क