दिलचस्प पोस्ट
पायथन हेक्साडेसिमल बूटस्ट्रैप 3 – शो सभी स्क्रीन आकारों के लिए ढंके हुए नेविगेशन वीडियो चल रहा है पर प्रभाव लागू पायथन में बड़ी फाइल पढ़ने के लिए आलसी विधि? अनुक्रमिक गिनती जेनरेटर अजगर अनुरोध फ़ाइल अपलोड करें कैसे दो स्तंभों में एक unordered सूची प्रदर्शित करने के लिए? कैसे एक स्ट्रिंग को जावा में एक int में कनवर्ट करने के लिए? Accordion तालिका सेल – कैसे गतिशील विस्तार / अनुबंध uitableviewcell करने के लिए? $ ()। प्रत्येक बनाम $ .ईक बनाम लूप के लिए jQuery में? एसक्यूएल नहीं काम नहीं कर रहा है क्या एंड्रॉइड 'बंडल में कुछ सीमाएं हैं? एनजी-दोहराने खत्म घटना WebWorkers को एक सुरक्षित वातावरण बनाना मैं दशमलव मान को 2 दशमलव स्थानों (एक पृष्ठ पर आउटपुट के लिए) कैसे गोल करता हूं

इसका क्या मतलब है: धारावाहिक वर्ग एक स्थिर अंतिम सीरियल 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(); } }); } } 

वेब के समाधान से एकत्रित समाधान "इसका क्या मतलब है: धारावाहिक वर्ग एक स्थिर अंतिम सीरियल 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 के दौरान जाँच की जाती है और अगर धारावाहिक वस्तु का मान वर्तमान वीएम में वर्ग के मान के बराबर नहीं होता, तो एक अपवाद फेंक दिया जाता है।

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