सीरियलाइज़ेशन और एक्सटर्नलाइज़ेशन दोनों किसी ऑब्जेक्ट को स्ट्रीम बाइट में बदलने और डेटाबेस या मेमोरी में बाइट स्ट्रीम को स्टोर करने की प्रक्रियाएँ हैं। java.io.Serializable इंटरफ़ेस को लागू करने वाले वर्ग को क्रमबद्ध किया जा सकता है। दूसरी ओर, आवेदन में आवश्यकता के आधार पर कस्टम क्रमांकन के लिए उपयोग किया जाने वाला बाह्यकरण। बाहरीकरण java.io.Serializable बढ़ाता है।
Sr. नहीं. | कुंजी | <वें शैली ="पाठ-संरेखण:केंद्र;"> क्रमांकनExternalization | |
---|---|---|---|
1 | इंटरफ़ेस | सीरियलाइज़ेशन एक मार्कर इंटरफ़ेस है | बाह्यकरण में दो विधियाँ शामिल हैं:पढ़ेंबाहरी और लिखेंबाहरी। |
2 | कार्यान्वयन तर्क | वह वर्ग जो इस इंटरफ़ेस को लागू कर रहा है, JVM को जावा ऑब्जेक्ट को क्रमबद्ध करने या बनाए रखने की जिम्मेदारी देता है। JVM क्रमांकन के लिए रीडऑब्जेक्ट और राइटऑब्जेक्ट का उपयोग करता है | Externalization readExternal और writeExternal विधियों को ओवरराइड करके एप्लिकेशन को कार्यान्वयन तर्क नियंत्रण प्रदान करता है। |
3 | चरों को अनदेखा करने का तरीका | क्रमांकन में, JVM क्रमांकन और जावा वस्तु के अक्रमांकन के दौरान क्षणिक चर की उपेक्षा करता है | जावा ऑब्जेक्ट के बाहरीीकरण के दौरान कुछ चरों को अनदेखा करने के लिए प्रोग्रामर अपना तर्क लिख सकता है |
4 | प्रदर्शन | क्रमिक इंटरफ़ेस में प्रतिबिंब का उपयोग करता है जो अपेक्षाकृत धीमी गति से प्रदर्शन का कारण बनता है। | Externalizable कार्यान्वयन दृष्टिकोण पर पूर्ण नियंत्रण देता है। |
5 | विरासत के साथ वस्तु क्रमांकन | <टीडी>1. यदि सुपरक्लास क्रमबद्ध नहीं है तो उपवर्ग को अभी भी क्रमबद्ध किया जा सकता है। हम इसे एक्सटर्नलाइज़ करने योग्य पर भी लागू कर सकते हैं। |
बाहरी करने योग्य का उदाहरण
class ExternalizableExample implements Externalizable { Integer id; @Override public void writeExternal(ObjectOutput out) throws IOException { out.writeInt( id ); } @Override public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException { this.id = in.readInt(); } }
सीरियलाइज़ करने योग्य उदाहरण
class SerializableExample implements Serializable { private static final long serialVersionUID = 5081877L; String name; }