क्या दो वर्गों में समान serialVersionUID हो सकता है?
क्या दो वर्गों में समान serialVersionUID हो सकता है?

वीडियो: क्या दो वर्गों में समान serialVersionUID हो सकता है?

वीडियो: क्या दो वर्गों में समान serialVersionUID हो सकता है?
वीडियो: जावा सीरियलाइजेशन में सीरियलवर्जनयूआईडी और वर्जनिंग 2024, अप्रैल
Anonim

हाँ, यह संभव है कि दो को अलग कक्षाएं हो सकती हैं NS एक ही सीरियलवर्जनयूआईडी मूल्य। लेकिन प्रत्येक के लिए एक अद्वितीय का उपयोग करना पसंद करते हैं कक्षा . साथ ही मान के रूप में केवल 1 के बजाय 8 से 10 अंक लंबे एक का उपयोग करें।

नतीजतन, एक serialVersionUID क्या है?

सीधे शब्दों में कहें, सीरियलवर्जनयूआईडी Serializable वर्गों के लिए एक विशिष्ट पहचानकर्ता है। इसका उपयोग किसी वस्तु के अक्रमांकन के दौरान किया जाता है, यह सुनिश्चित करने के लिए कि एक भारित वर्ग क्रमबद्ध वस्तु के साथ संगत है।

इसी तरह, serialVersionUID 1l का क्या उपयोग है? NS सीरियलवर्जनयूआईडी एक सीरियल करने योग्य वर्ग के लिए एक सार्वभौमिक संस्करण पहचानकर्ता है। अक्रमांकन उपयोग यह संख्या यह सुनिश्चित करने के लिए है कि एक भारित वर्ग एक क्रमबद्ध वस्तु से बिल्कुल मेल खाता है। यदि कोई मिलान नहीं मिलता है, तो एक अमान्य क्लास अपवाद फेंक दिया जाता है।

इसी तरह पूछा जाता है कि क्या serialVersionUID की जरूरत है?

डिफ़ॉल्ट सीरियलवर्जनयूआईडी गणना वर्ग विवरण के प्रति अत्यधिक संवेदनशील है जो संकलक कार्यान्वयन के आधार पर भिन्न हो सकती है, और कर सकते हैं इस प्रकार अक्रमांकन के दौरान अप्रत्याशित InvalidClassException s का परिणाम होता है। इसलिए, आपको घोषित करना चाहिए सीरियलवर्जनयूआईडी क्योंकि यह हमें अधिक नियंत्रण देता है।

क्रमांकन प्रक्रिया में serialVersionUID की क्या भूमिका है?

दौरान क्रमबद्धता , जावा रनटाइम प्रत्येक के साथ एक संस्करण संख्या को जोड़ता है serializable कक्षा। यह नंबर कहा जाता है सीरियलवर्जनयूआईडी , जिसका उपयोग अक्रमांकन के दौरान यह सत्यापित करने के लिए किया जाता है कि a. के प्रेषक और रिसीवर धारावाहिक ऑब्जेक्ट ने उस ऑब्जेक्ट के लिए कक्षाएं लोड की हैं जो कि के संबंध में संगत हैं क्रमबद्धता.

सिफारिश की: