दिलचस्प पोस्ट
अजगर मॉड्यूल का संस्करण कैसे जांच सकता है? AngularJs में एक वैश्विक HTTP टाइमआउट कैसे सेट करें C ++ में चल प्रकारों में म्यूटक्स के साथ मैं कैसे व्यवहार करूँ? ऑर्डर किए गए आदेश के अजगर को क्रमबद्ध करने के लिए कैसे – पायथन एम्बर का उद्देश्य क्या है। कंटेनर उपयोगकर्ता को पृष्ठ पर प्रदर्शित होने से पहले DOM अवरोधन और संशोधित करें मौजूदा SQLite डेटाबेस के लिए एक पूर्ण एंड्रॉइड डाटाबेस हेल्पर क्लास क्या है? स्केल और दर्पण एसवीजी ऑब्जेक्ट मैं Windows के लिए विज़ुअल स्टूडियो कोड में कोड के वर्गों को कैसे संक्षिप्त कर सकता हूं ब्राउज़र विंडो की 100% ऊंचाई बनाओ सी में (->) ऑपरेटर सी क्यों मौजूद है? MySQL: बड़ा VARCHAR बनाम पाठ? हम AngularJS के साथ jQuery का उपयोग करना चाहिए? जब काम कम करते हैं तो हडोप में शुरू होता है? एक सकारात्मक लैम्ब्डा: '+ {}' – यह क्या जादू है?

इसका क्या मतलब है: धारावाहिक वर्ग एक स्थिर अंतिम सीरियल VersionUID फ़ील्ड घोषित नहीं करता है?

मेरे पास शीर्षक में चेतावनी संदेश दिया गया है मैं इसे समझना चाहता हूं और इसे हटाऊंगा। मुझे पहले से ही इस प्रश्न पर कुछ जवाब मिल गए हैं लेकिन तकनीकी पदों के साथ अधिभार के कारण मुझे ये जवाब नहीं समझते हैं क्या यह सरल शब्दों के साथ इस मुद्दे की व्याख्या करना संभव है?

पी एस मुझे पता है कि क्या OOP है मुझे पता है कि वस्तु, वर्ग, विधि, क्षेत्र और तात्कालिकता क्या है

पीपीएस अगर किसी को मेरे कोड की जरूरत है तो वह यहां है:

import java.awt.*; import javax.swing.*; public class HelloWorldSwing extends JFrame { JTextArea m_resultArea = new JTextArea(6, 30); //====================================================== constructor public HelloWorldSwing() { //... Set initial text, scrolling, and border. m_resultArea.setText("Enter more text to see scrollbars"); JScrollPane scrollingArea = new JScrollPane(m_resultArea); scrollingArea.setBorder(BorderFactory.createEmptyBorder(10,5,10,5)); // Get the content pane, set layout, add to center Container content = this.getContentPane(); content.setLayout(new BorderLayout()); content.add(scrollingArea, BorderLayout.CENTER); this.pack(); } public static void createAndViewJFrame() { JFrame win = new HelloWorldSwing(); win.setTitle("TextAreaDemo"); win.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); win.setVisible(true); } //============================================================= main public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable(){ public void run(){ createAndViewJFrame(); } }); } } 

Solutions Collecting From Web of "इसका क्या मतलब है: धारावाहिक वर्ग एक स्थिर अंतिम सीरियल VersionUID फ़ील्ड घोषित नहीं करता है?"

जवाडोक से :

प्रत्येक धारावाहिक वर्ग के साथ serialVersionUID रनटाइम एसोसिएट्स एक संस्करण संख्या, जिसे serialVersionUID कहा जाता है, जिसका इस्तेमाल सत्यापित करने के लिए deserialization के दौरान किया जाता है कि प्रेषक और रिसीवर के क्रमबद्ध ऑब्जेक्ट उस ऑब्जेक्ट के लिए serialVersionUID लोड किए गए हैं जो क्रमबद्धता के संबंध में संगत हैं। यदि रिसीवर ने उस वस्तु के लिए एक वर्ग लोड किया है जिसमें संबंधित प्रेषक वर्ग की तुलना में एक अलग serialVersionUID है, तो deserialization के परिणामस्वरूप एक InvalidClassException होगा एक serialVersionUID वर्ग "serialVersionUID" नामक क्षेत्र को घोषित करके अपनी serialVersionUID स्पष्ट रूप से घोषित कर सकता है, जो कि स्थिर, अंतिम और लंबे प्रकार के होने चाहिए:

आप अपना आईडीई इन पर कॉन्फ़िगर कर सकते हैं:

  • एक चेतावनी देने के बजाय, इसे अनदेखा करें
  • एक आईडी autogenenerate

आपके अतिरिक्त प्रश्न के अनुसार "क्या यह हो सकता है कि चर्चा की गई चेतावनी संदेश एक कारण है कि मेरा जीयूआई एप्लीकेशन फ्रीज क्यों है?":

नहीं, यह नहीं हो सकता यह केवल एक समस्या पैदा कर सकता है यदि आप वस्तुओं को क्रमबद्ध कर रहे हैं और उन्हें किसी भिन्न स्थान (या समय) में डिस्रिअल कर रहे हैं, जहां (जब) ​​कक्षा बदल गई है, और इसका परिणाम ठंड में नहीं होगा, लेकिन InvalidClassException क्लास InvalidClassException

चेतावनी के कारण यहां प्रलेखित हैं , और सरल फिक्स को चेतावनी को बंद करना है या आपके कोड में संस्करण यूआईडी की आपूर्ति करने के लिए निम्नलिखित घोषणा करना है। वास्तविक मूल्य प्रासंगिक नहीं है, यदि आप चाहें 999 से शुरू करते हैं, लेकिन जब आप वर्ग में असंगत परिवर्तन करते हैं तो इसे बदलते हैं

 public class HelloWorldSwing extends JFrame { JTextArea m_resultArea = new JTextArea(6, 30); private static final long serialVersionUID = 1L; 

अन्य उत्तरों में अब तक बहुत तकनीकी जानकारी है मैं सरल शब्दों में अनुरोध के अनुसार उत्तर देने का प्रयास करूंगा।

सीरियललाइजेशन, आप किसी ऑब्जेक्ट के एक उदाहरण के लिए करते हैं, यदि आप इसे किसी कच्चा बफर में डंप करना चाहते हैं, तो इसे डिस्क पर सहेजें, उसे बाइनरी स्ट्रीम में ट्रांसफ़र करें (जैसे, किसी नेटवर्क सॉकेट पर ऑब्जेक्ट भेजना), या अन्यथा एक सीरियल की गई एक वस्तु का द्विआधारी प्रतिनिधित्व (सीरियलाइजेशन के बारे में अधिक जानकारी के लिए विकिपीडिया पर जावा सीरियललाइज़ेशन देखें)

अगर आपकी कक्षा को धारावाहिक करने का कोई इरादा नहीं है, तो आप अपने वर्ग @SuppressWarnings("serial") ऊपर एनोटेशन जोड़ सकते हैं।

यदि आप सीरियलाइज करने जा रहे हैं, तो आपके पास यूआईडी के समुचित उपयोग के आसपास केंद्रित सभी के बारे में चिंतित होने के लिए कई चीजें हैं। असल में, यूयूआईडी एक "संस्करण" का एक तरीका है, जिस वस्तु को आप सीरियलाइज करना चाहते हैं, ताकि कोई भी प्रक्रिया डी-सीरियलिंग जानता हो कि यह ठीक से डी-सीरियलिंग है मैं अधिक जानकारी के लिए श्रृंखलाबद्ध वस्तुओं के लिए उचित संस्करण नियंत्रण को देखता हूं।

जब भी कुछ बदलाव जो सीरियललाइज़ेशन को प्रभावित करता है (अतिरिक्त फ़ील्ड, हटाए गए फ़ील्ड, फील्ड ऑर्डर बदलना, …) बदलना चाहिए

यह सही नहीं है, और आप उस दावे के लिए एक अधिकृत स्रोत का उल्लेख नहीं कर पाएंगे। जब भी आप कोई परिवर्तन करते हैं जो ऑब्जेक्ट सीरियलाइज़ेशन विनिर्देशन के सीरियलजबल ऑब्जेक्ट्स सेक्शन के संस्करण में दिए गए नियमों के तहत असंगत है, जो विशेष रूप से अतिरिक्त फ़ील्ड या फील्ड ऑर्डर में बदलाव नहीं करता है, और जब आपने readObject(), writeObject(), प्रदान नहीं किया है readObject(), writeObject(), readResolve() readObject(), writeObject(), और / या readResolve() या /writeReplace() तरीके और / या एक /writeReplace() डिक्लेरेशन जो परिवर्तन से सामना कर सकता है।

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

ध्यान दें कि यह मान विशेष है कि यह वस्तु के साथ क्रमबद्ध है, हालांकि यह ऊपर वर्णित कारणों के लिए स्थिर है।