मैं एक कक्षा (ArrayBlockingQueue) का विस्तार कर रहा हूं जो Serializable interface लागू करता है। सूर्य की प्रलेखन (और मेरी आईडीई) मेरे सलाह देता है कि मैं आदेश शरारत को रोकने के लिए यह मान सेट करना चाहिए:क्या जावा में सीरियलज़ेबल कक्षाओं को विस्तारित करते समय मैं serialVersionUID के लिए क्या चुनता हूं?
हालांकि, यह सलाह दी जाती है कि सभी serializable वर्गों स्पष्ट serialVersionUID मूल्यों की घोषणा के बाद से डिफ़ॉल्ट गणना serialVersionUID अत्यधिक संवेदनशील है कक्षा विवरण के लिए जो संकलक कार्यान्वयन के आधार पर भिन्न हो सकते हैं, और इस प्रकार deserialization के दौरान अप्रत्याशित अवैध क्लास अपवादों का परिणाम हो सकता है।
अब, मैं इस बात पर कम ध्यान नहीं दे सकता कि वहां क्या मूल्य डालना है। फर्क पड़ता है क्या?
क्षमा करें जॉन, लिंक एक गैर-मौजूद दस्तावेज़ को इंगित करता है (माना जाता है कि यह 2 साल बाद है)। –
@ द एलिट जेंटलमैन: धन्यवाद, ओरेकल सर्वर पर इंगित करने के लिए संपादित किया गया है। –
क्या मैं समझ सकता हूं कि दो अलग-अलग वर्ग (जैसे MyJLabel और MyEncoder) 'serialVersionUID' के समान मान का उपयोग कर सकते हैं और उचित रूप से deserialised हो सकता है? मुझे लगता है कि हाँ, क्योंकि नाम अलग हैं, यह केवल संस्करण का मामला होना चाहिए। – Matthieu