जावा में मार्कर इंटरफ़ेस कैसे लागू करें?



यह लेख आपको इंटरफेस ऑफ जावा में मार्कर के रूप में बुलाया इंटरफेस के एक दिलचस्प पहलू पर संक्षिप्त करेगा और इसे कार्यान्वयन के साथ पालन करेगा।

यह लेख आपको मार्कर इंटरफेस इन के रूप में बुलाया इंटरफेस के एक दिलचस्प पहलू पर संक्षिप्त करेगा और कार्यान्वयन के साथ इसका पालन करें। इस लेख में निम्नलिखित बिंदुओं को शामिल किया जाएगा,

तो चलिए हम शुरू करते हैं,





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

जावा में मार्कर इंटरफ़ेस पर इस लेख के साथ आगे बढ़ना



सीरियल इंटरफ़ेस

जावा में सीरियलाइजेशन को एक वस्तु की स्थिति को बाइट स्ट्रीम में बदलने की प्रक्रिया के रूप में परिभाषित किया जा सकता है। यह जरावात्मक इंटरफ़ेस का उपयोग करके प्राप्त किया जा सकता है, जो कि java.io.package में मौजूद है। यह ध्यान दिया जाना चाहिए कि एक धारावाहिक श्रेणी के सभी उपप्रकार स्वयं क्रमबद्ध हैं।

उदाहरण:

import java.io. * * क्लास मेन इम्प्लीमेंट्स Serializable {int j String s // एक क्लास कंस्ट्रक्टर पब्लिक Main (int j, String s) {this.j = j this.s = s}} पब्लिक क्लास टेस्ट {public static vid main (String [] args) IOException, ClassNotFoundException {Main obj = new Main (25, 'HelloWorld') // Serializing 'obj' FileOutputStream fos = new_OutputStream ('pqr.txt') को फेंकता है। .writeObject (obj) // De-serializing 'obj' FileInputStream fis = new FileInputStream ('pqr.txt') ObjectInputStream ois = new ObjectInputStream (fis) Main b = (Main) ois.readObject () // डाउन-कास्टिंग ऑब्जेक्ट। System.out.println (b.j + '' + bs) // क्लोजिंग स्ट्रीम oos.close () ois.close ()}}

आउटपुट:
25 नमस्ते



जावा में मार्कर इंटरफ़ेस पर इस लेख के साथ आगे बढ़ना

क्लोन करने योग्य इंटरफ़ेस:

यह इंटरफ़ेस java.lang पैकेज में पाया जा सकता है। क्लोनिंग किसी अन्य नाम के साथ किसी प्रतिकृति या किसी वस्तु की सटीक प्रतिलिपि बनाने का तंत्र है।
क्लोन करने योग्य इंटरफ़ेस ऑब्जेक्ट के लिए इंगित करने के लिए एक वर्ग द्वारा कार्यान्वित किया जाता है। ऑब्जेक्ट () विधि से संकेत मिलता है कि यह उस वर्ग के उदाहरणों की फ़ील्ड-फॉर-फील्ड प्रतिलिपि बनाने के लिए विधि के लिए कानूनी है।
एक CloneNotSupportedException एक वर्ग के लिए फेंका गया है जो क्लोन करने योग्य इंटरफ़ेस को लागू किए बिना क्लोन विधि को लागू करता है।

उदाहरण:

आयात java.lang.Cloneable वर्ग javaClone लागू करता है ओवरराइड रक्षित ऑब्जेक्ट क्लोन () फेंकता है CloneNotSupportedException {return super.clone ()}} सार्वजनिक वर्ग मुख्य {सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग [] args) CloneNotSupportedExe {javaClone c = new javaClone (18, 'HelloWorld') // क्लोनिंग ' c 'और होल्डिंग // b-down-कास्टिंग javaClone b = (javaClone) c.clone () System.out.println (bj) System.out.println (bs)} में नए क्लोन किए गए ऑब्जेक्ट संदर्भ।

आउटपुट:
१।
नमस्ते दुनिया

ओवरराइडिंग बनाम जावा में ओवरलोडिंग

जावा में मार्कर इंटरफ़ेस पर इस लेख के साथ आगे बढ़ना

रिमोट इंटरफ़ेस:

दूरस्थ ऑब्जेक्ट को एक ऑब्जेक्ट के रूप में परिभाषित किया जा सकता है, जिसके तरीकों को एक अलग JVM से मंगाया जा सकता है, संभवतः दूसरे होस्ट पर। यह इंटरफ़ेस java.rmi पैकेज में पाया जाता है। किसी दूरस्थ वस्तु को इस विधि को प्रत्यक्ष या अप्रत्यक्ष रूप से लागू करना चाहिए।

RMI:

रिमोट मेथड कन्वोकेशन एक एपीआई है जो एक ऑब्जेक्ट को एक अलग JVM में चल रही ऑब्जेक्ट पर विधियों को लागू करने में सक्षम बनाता है। यह निम्नलिखित वस्तुओं का उपयोग करके दो अनुप्रयोगों के बीच दूरस्थ संचार प्रदान करता है: स्टब और कंकाल।

ठूंठ:

स्टब को एक ऑब्जेक्ट के रूप में परिभाषित किया जा सकता है जो क्लाइंट साइड में मौजूद है और रिमोट ऑब्जेक्ट का प्रतिनिधित्व करता है। यह एक सूचना ब्लॉक बनाता है जिसमें निम्न शामिल हैं:
α दूरस्थ वस्तु की पहचानकर्ता
α विधि का नाम है जिसे लागू किया जाना है
α रिमोट जेवीएम के पैरामीटर

कंकाल:

कंकाल ऑब्जेक्ट का मुख्य काम स्टब से रिमोट ऑब्जेक्ट के लिए अनुरोधों को पारित करना है। इसके अतिरिक्त, यह नीचे दिए गए कार्यों को पूरा करता है:
α यह मूल दूरस्थ वस्तु पर वांछित विधि को आमंत्रित करता है
α दूरस्थ ऑब्जेक्ट के लिए निर्दिष्ट पैरामीटर पढ़ता है

जावा में मार्कर इंटरफ़ेस पर इस लेख के साथ आगे बढ़ना

रिमोट इंटरफ़ेस लागू करने के लिए कदम:

एक दूरस्थ इंटरफ़ेस परिभाषित करें:

आयात java.rmi। ​​* सार्वजनिक इंटरफ़ेस AddAll रिमोट {सार्वजनिक int ऐड (int r, int s) फेंकता है।

यहां, दूरस्थ इंटरफ़ेस को विस्तारित किया गया है, और दूरस्थ इंटरफ़ेस के सभी तरीकों के साथ RemoteException घोषित किया गया है।

जावा में मार्कर इंटरफ़ेस पर इस लेख के साथ आगे बढ़ना

कैसे जावा पथ बदलने के लिए - -

दूरस्थ इंटरफ़ेस लागू करें:

दूरस्थ इंटरफ़ेस पर कार्यान्वयन प्रदान करने के दो तरीके हैं:
α UnicastRemoteObject वर्ग का विस्तार करें
α UnicastRemoteObject वर्ग के ExportObject () पद्धति का उपयोग करें

import java.rmi। ​​* import java.rmi.server। * public class AddAllRemote का विस्तार UnicastRemoteObject लागू करता है Adder {AddAllRemote () फेंकता है RemoteExem {super ()} public int add (int r, int s) {return r + s}

रिकमिक (आरएमआई संकलक) का उपयोग करके, स्टब और कंकाल ऑब्जेक्ट बनाएं।

स्टब और कंकाल की वस्तुओं को रमी संकलक का उपयोग करके बनाया जा सकता है। Rmi टूल ऑब्जेक्ट बनाने के लिए RMI संकलक को आमंत्रित करता है।
रिकमिक AddAllRemote

Rmiregistry टूल का उपयोग करके, रजिस्ट्री सेवा शुरू करें।

Rmregistry टूल का उपयोग करके रजिस्ट्री सेवा शुरू की जा सकती है। यदि उपयोगकर्ता द्वारा निर्दिष्ट नहीं है, तो एक डिफ़ॉल्ट पोर्ट नंबर का उपयोग किया जाता है।
rmiregistry 5000

जावा में मार्कर इंटरफ़ेस पर इस लेख के साथ आगे बढ़ना

रिमोट एप्लिकेशन बनाएं और शुरू करें।

import java.rmi। ​​* import java.rmi.registry। * public class server {public static void main (String args []) {try {AddAll stub = new AddAllRemote () Naming .rebind ('rmi: // localhost: 5000 / sak ', stub)} कैच (अपवाद e) {System.out.println (e)}}}

दूरस्थ वस्तु को उपरोक्त उदाहरण में sak नाम से बाध्य किया जा रहा है।

जावा में मार्कर इंटरफ़ेस पर इस लेख के साथ आगे बढ़ना

क्लाइंट एप्लिकेशन बनाएं और शुरू करें।

दिए गए उदाहरण में, सर्वर और क्लाइंट एप्लिकेशन को एक ही मशीन पर चलाया जा रहा है। इस प्रकार, लोकलहोस्ट का उपयोग किया जा रहा है।

आयात java.rmi। ​​* सार्वजनिक वर्ग क्लाइंट {सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग args []) {try {AddAll stub = (AddAll) Naming.lookup ('rmi: // localhost: 5000 / sak)) System.out.println (stub.add (29,18))} कैच (अपवाद ई) {}}}

किसी भिन्न मशीन से दूरस्थ ऑब्जेक्ट तक पहुँचने के लिए, स्थानीय होस्ट नाम को IP पते या होस्ट नाम को दूरस्थ ऑब्जेक्ट पर स्थित होना चाहिए।

मार्कर इंटरफ़ेस का उपयोग करके कोड को वर्गीकृत करने का एक कुशल तरीका प्राप्त किया जा सकता है।

__in____ अजगर

इस प्रकार हम इस लेख के अंत में आए हैं। आप और अधिक जानने के लिए चाहते हैं, तो बाहर की जाँच करें Edureka, एक विश्वसनीय ऑनलाइन शिक्षण कंपनी है। एडुर्का के जावा जे 2 ईई और एसओए प्रशिक्षण और प्रमाणन पाठ्यक्रम आपको हाइबरनेट और स्प्रिंग जैसे विभिन्न जावा फ्रेमवर्क के साथ कोर और उन्नत जावा अवधारणाओं दोनों के लिए प्रशिक्षित करने के लिए डिज़ाइन किया गया है।

क्या आप हमसे कोई प्रश्न पूछना चाहते हैं? कृपया इस ब्लॉग के टिप्पणी अनुभाग में इसका उल्लेख करें और हम जल्द से जल्द आपके पास वापस आ जाएंगे।