জাভা কেন সিরিয়ালাইজযোগ্য ইন্টারফেসের প্রয়োজন?


114

সিরিয়ালাইজেশন নিয়ে আমরা প্রচুর পরিমাণে কাজ করি এবং আমরা যে প্রতিটি বস্তু ব্যবহার করি তাতে সিরিয়ালাইজযোগ্য ট্যাগ নির্দিষ্ট করে দেওয়া বোঝার মতো। বিশেষত যখন এটি তৃতীয় পক্ষের শ্রেণীর হয় যা আমরা সত্যিই পরিবর্তন করতে পারি না।

প্রশ্নটি হল: যেহেতু সিরিয়ালাইজেবল একটি খালি ইন্টারফেস এবং জাভা আপনার যুক্ত হওয়ার পরে দৃ serial় সিরিয়ালাইজেশন সরবরাহ করে implements Serializable- কেন তারা সবকিছুকে সিরিয়ালাইজযোগ্য করে তুলল না এবং এটিই কি?

আমি কী মিস করছি?


আপনি যদি নিজের বিষয়টিকে সিরিয়ালাইজেবল করতে চান তবে কী হবে? নাকি আমি কিছু ভুল বুঝেছি?
জো ফিলিপস

আমি এখনও NotSerializableException পাবেন কারণ আমার বস্তুর সব ক্ষেত্র serializable হতে হবে
Yoni Roit

পপ ক্যাটালিনের সাথে সম্পূর্ণরূপে একমত এবং দিমিত্রি "এই সিরিয়ালিজেবল কৌশলটি কেবল অন্য এক ভুল সিদ্ধান্ত যা দশক বা দুই বছর আগে নেওয়া হয়েছিল"। সিরিয়ালাইজেশন কতটা বিপজ্জনক হতে পারে তা বিবেচ্য নয়। এবং এটি সত্য নয় যেহেতু ঘোষণাটি সুস্পষ্ট তাই "আপনারা জানেন যে আপনাকে বিশেষ মনোযোগ দিতে হবে": যার যার প্রয়োজন প্রথমে প্রথমে "প্রয়োগ" জিনিসপত্র লাগিয়ে দেয় এবং তারপরে কোনও ভুল হয়ে গেলে তার অর্থ সম্পর্কে চিন্তাভাবনা করে। যদি তারা আমাদের বিশেষ ক্ষেত্রে প্রয়োগ করার জন্য একটি "অপ্রচলিত" ইন্টারফেসটি দেয় তবে এটি আরও পরিষ্কার হয়ে যেতে পারে।
জ্যাক

উত্তর:


120

সিরিয়ালাইজেশন সমস্যাগুলি পূর্ণ। এই ফর্মটির স্বয়ংক্রিয় সিরিয়ালাইজ সমর্থন ক্লাসের অভ্যন্তরীণগুলিকে পাবলিক এপিআইয়ের অংশ করে তোলে (যার কারণেই জাভাদোক আপনাকে ক্লাসের অবিরাম ফর্মগুলি দেয় )।

দীর্ঘমেয়াদী অধ্যবসায়ের জন্য, শ্রেণিকে অবশ্যই এই ফর্মটি ডিকোড করতে সক্ষম হতে হবে, যা শ্রেণিক নকশায় আপনি যে পরিবর্তন করতে পারবেন তা সীমাবদ্ধ করে। এটি encapsulation বিরতি।

সিরিয়ালাইজেশন সুরক্ষা সমস্যাও দেখা দিতে পারে। যার কোনও রেফারেন্স রয়েছে সেটিকে সিরিয়ালাইজ করতে সক্ষম হয়ে, একটি শ্রেণি ডেটা অ্যাক্সেস করতে পারে যা সাধারণত এটি সক্ষম হয় না (ফলস্বরূপ বাইট ডেটা পার্স করে)।

অন্যান্য ইস্যু রয়েছে যেমন অভ্যন্তরীণ শ্রেণির ক্রমযুক্ত রূপটি সঠিকভাবে সংজ্ঞায়িত হচ্ছে না।

সমস্ত শ্রেণিকে সিরিয়ালযোগ্য করে তোলা এই সমস্যাগুলিকে আরও বাড়িয়ে তুলবে। পরীক্ষা করে দেখুন কার্যকরী জাভা দ্বিতীয় সংস্করণ , বিশেষ আইটেম 74: judiciously বাস্তবায়ন Serializable


2
এটি স্পষ্টতই উত্তম উত্তর, আমি হতাশ হয়েছি যে নির্বাচিত উত্তরটি এটি নয়, মনে হয় পোস্টটি একটি "আমি বিরক্ত হয়েই বেছে নিয়েছি কারণ আমাকে বিষয়গুলিকে সিরিয়ালাইজযোগ্য" ঘোষণা করতে হবে বলে মনে রেখে। এটি ইতিমধ্যে অতীতে জেনে নেওয়া সুরক্ষা এবং নকশার পাঠগুলিতে মনোযোগ না দেওয়া চাকা মুক্ত করতে চায় এমন একজনের উদাহরণ।
gbtimmon

@ এমসিডোয়েল ক্লাসের অবিরাম ফর্ম বলতে কী বোঝ? আমি সেই লিঙ্কটি অনুসরণ করেছি তবে বুঝতে পারছি না আপনি কী বোঝাতে চাইছেন? আপনি দয়া করে এটি ব্যাখ্যা করতে পারেন?
গিক

@Geek - (উদাহরণস্বরূপ) সংজ্ঞায়িত URL প্রকারের ধারাবাহিকভাবে ফর্ম ব্যক্তিগত কি ক্ষেত্র প্রকার থাকা আবশ্যক তখন কি আর করার তারা ঘোষণা করতে হবে।
McDowell

@ এমসিডোয়েল কেন আদেশের বিষয়টি বিবেচনা করে?
গীক

12
@ এমসিডোয়েল হাই আমি 4 বছর আগে এই প্রশ্নের মূল পোস্টার এবং আমি আপনার উত্তরটি গ্রহণযোগ্য হিসাবে বেছে নিয়েছি, যদি এর কোনও অর্থ হয় তবে means আমি মনে করি আপনার উত্তরটি সত্যিই সবচেয়ে ভাল, এবং আমি সম্ভবত সে সময় এটির মতো দেখতে অপরিণত ছিলাম। এখনই ঠিক করা হচ্ছে :)
ইয়নি রইট

32

আমি মনে করি জাভা এবং। নেট লোক উভয়ই এটি প্রায় ভুল হয়ে গেছে, সমস্ত কিছুকে ডিফল্টরূপে সিরিয়ালযোগ্য করে তোলা আরও ভাল হত এবং কেবল সেই ক্লাসগুলিকে চিহ্নিত করা উচিত যা পরিবর্তে নিরাপদে সিরিয়াল করা যায় না।

উদাহরণস্বরূপ স্মলটালকের (70-এর দশকে তৈরি একটি ভাষা) প্রতিটি বস্তু ডিফল্টরূপে সিরিয়ালাইজযোগ্য। জাভাতে কেন এমনটি হচ্ছে না তা আমার কোনও ধারণা নেই, এই বিষয়টি বিবেচনা করেই যে বিপুল সংখ্যক বস্তু সিরিয়ালাইজ করতে নিরাপদ এবং তাদের মধ্যে কয়েকটি অযোগ্য নয়।

কোনও বস্তুকে সিরিয়ালাইজযোগ্য হিসাবে চিহ্নিত করা (একটি ইন্টারফেস সহ) যাদুটি সেই বস্তুকে সিরিয়ালাইজেবল করে তোলে না, এটি পুরোপুরি সিরিয়ালাইজযোগ্য ছিল , এটি ঠিক এখন আপনি এমন কিছু প্রকাশ করেছিলেন যা সিস্টেমটি তার নিজের মতো করে খুঁজে পেতে পারে, সুতরাং আমি এর কোনও সত্যিকারের কারণ দেখছি না see সিরিয়ালাইজেশন এখন এটি এখন হয়।

আমি মনে করি এটি হয় ডিজাইনারদের দ্বারা গৃহীত একটি দুর্বল সিদ্ধান্ত ছিল বা সিরিয়ালাইজেশন একটি চিন্তাভাবনা ছিল, বা প্ল্যাটফর্মটি কখনই নিরাপদে এবং ধারাবাহিকভাবে সমস্ত বস্তুতে ডিফল্টরূপে সিরিয়ালাইজেশন করতে প্রস্তুত ছিল না।


26
ক্লাস ডিজাইন করার সময় এবং বাস্তবায়নের সময় আপনার বিশেষ যত্ন নেওয়া দরকার তা নিশ্চিত করার জন্য যে উদাহরণগুলি বুদ্ধিমান উপায়ে সিরিয়ালযুক্ত করা হবে। সিরিয়ালাইজযোগ্য ইন্টারফেসটির মূল অর্থ: "আমি একজন প্রোগ্রামার হিসাবে সিরিয়ালাইজেশনের পরিণতি বুঝতে
পেরেছি এবং জেভিএমকে

@ রল্ফ রান্ডার: বেশিরভাগ সময় আপনার কোনও যত্ন নেওয়া প্রয়োজন না, কেবল শ্রেণি সিরিয়ালযোগ্য হিসাবে চিহ্নিত করুন। ধারাবাহিকতাতে সব defaul দ্বারা হত তাহলে বস্তু যে ডেভেলপার মুজিবনগর খুব বিভিন্ন হতো, এটা কিছু প্রাকৃতিক একটি বর্গ serializable করতে করতে হত ...
পপ Catalin

এটি ভাল বর্গ নকশার তালিকায় আরেকটি উদ্বেগ যুক্ত করেছিল, উদাহরণস্বরূপ নিশ্চিত করা যে আপনার মেমরি ফাঁস নেই making তবুও, আরও ভাল ক্লাস ডিজাইনের জন্য আরও প্রয়োজন যে আপনার ক্লাসগুলি যখন হতে পারে সেগুলি ক্রমিকতর করা যায়।
পপ ক্যাটালিন

3
@ স্ট্যাক্সম্যান, কারণ পরে বুঝতে পেরে আপনার ক্লাসকে সিরিয়ালকরণ করা দরকার এবং আপনি পারবেন না, এটি খুব ব্যয়বহুল হতে পারে। এটি এমন একটি ক্ষেত্রে যেখানে সামান্য অতিরিক্ত প্রচেষ্টা ব্যয় করে। এটি বিশেষত সত্য যদি আপনি কোনও লাইব্রেরি লিখছেন এবং অন্য কেউ উত্স কোড ব্যতীত এটি গ্রাস করবে
পপ ক্যাটালিন

2
আমি এই উত্তরের সাথে সম্পূর্ণ একমত অনেক ভাষায় সবই ডিফল্টরূপে সিরিয়ালযোগ্য। এবং আসলে জেভিএম এর সাথে একই, কারণ যে কোনও শ্রেণীর সদস্য অ্যাক্সেস করার জন্য প্রতিচ্ছবিটি ব্যবহার করা সহজ, এটি ব্যক্তিগত হোক বা না হোক। এই Serializableকৌশলটি কেবল অন্য এক ভুল সিদ্ধান্ত যা দশক বা দুই বছর আগে নেওয়া হয়েছিল এবং স্ট্যান্ডার্ড লাইব্রেরিতে সংগ্রহ এবং স্ট্রিং প্রসেসিংয়ের কিছু ত্রুটিগুলির মতো খাঁটি জাভা নিয়ে কাজ করার সময় বিরক্তিতে আরও একটি সংযোজন। সুখের সাথে ক্রিও রয়েছে, তবে এটি নির্ভরতা এবং প্রথমে এটি খুঁজে পাওয়া দরকার। এভাবেই অন্তর্নির্মিত সিরিয়ালাইজেশন করা উচিত ছিল।
দিমিত্রি

20

সবকিছুই প্রকৃতপক্ষে সিরিয়ালযোগ্য নয়। উদাহরণস্বরূপ একটি নেটওয়ার্ক সকেট সংযোগ নিন। আপনি আপনার সকেট অবজেক্টের ডেটা / স্থিতিকে সিরিয়ালাইজ করতে পারেন তবে সক্রিয় সংযোগের সারাংশ হারিয়ে যাবে be


এটি আমার সমস্যা হবে এবং যদি আমি সকেটকে সিরিয়ালাইজ করার চেষ্টা করার মতো যথেষ্ট স্মার্ট না হই, তবে ডিবাগিংয়ের সময় আমার ত্রুটিটি খুঁজে পেতাম। যাইহোক, আমি এখন এমন পরিস্থিতিতে আছি যখন আমি তৃতীয় পক্ষের ক্লাসের কারণে জাভা সিরিয়ালাইজেশনটি মোটেও ব্যবহার করতে পারি না যা কোনও ভাল কারণে সিরিয়ালাইজেবল বাস্তবায়ন করে না।
যোনি রইট

4
এই কেসটি পরিচালনা করার জন্য কয়েকটি শালীন উপায় রয়েছে যেমন তৃতীয় পক্ষের শ্রেণীর কী ডেটা কীভাবে পড়তে হয় এবং লিখতে হয় তা জেনে রাখার মতো সিরিয়ালাইজেবল র‍্যাপার ক্লাস লিখতে হয়; মোড়ানো দৃষ্টান্তটি ক্ষণস্থায়ী করুন এবং ওভাররাইড রাইটওজেক্ট এবং রিডঅবজেক্টকে উপস্থাপন করুন।
গ্রেগ কেস

আপনি কি আপনার এপিআই-তে প্রয়োজনীয় জিনিসগুলি থেকে উত্তরাধিকারী হয়ে এই শ্রেণিগুলিকে ক্রমিক করতে পারেন?
জোয়েল কোহোর্ন

@ জোয়েল: এটি একটি ভাল ধারণা, তবে এখনও একটি হ্যাক। আমার ধারণা এই পুরো জিনিসটি অন্য একটি ট্রেডঅফটি ভুল হয়ে গেছে। তোমার মন্তব্যের জন্য ধন্যবাদ.
যোনি রইট

1
এটি সেই বিরল উদাহরণগুলির মধ্যে একটি যা চিত্রিত করে যে আমাদের সত্যই যা প্রয়োজন তা হল implements NotSerializable:)
রব গ্রান্ট

13

জাভাতে সিরিয়ালাইজেবলের মূল ভূমিকাটি হ'ল ডিফল্টরূপে অন্যান্য সমস্ত অবজেক্টগুলিকে ননসিরিয়ালাইজযোগ্য make সিরিয়ালাইজেশন একটি অত্যন্ত বিপজ্জনক প্রক্রিয়া, বিশেষত এর ডিফল্ট প্রয়োগে। সুতরাং, সি ++ তে বন্ধুত্বের মতো এটি ডিফল্টরূপে বন্ধ হয়, এমনকি বিষয়গুলি সিরিয়ালযোগ্য করে তুলতে যদি কিছুটা ব্যয় হয়ও।

সিরিয়ালাইজেশন কাঠামোর সামঞ্জস্যতা বীমাকৃত না হওয়ায় বাধা এবং সম্ভাব্য সমস্যা যুক্ত করে। এটি ডিফল্টরূপে বন্ধ রয়েছে তা ভাল।

আমাকে স্বীকার করতে হবে যে আমি খুব কম অযৌক্তিক ক্লাস দেখেছি যেখানে স্ট্যান্ডার্ড সিরিয়ালাইজেশন আমি যা চাই তা করে। বিশেষত জটিল ডেটা স্ট্রাকচারের ক্ষেত্রে। সুতরাং আপনি ক্লাসটি সিরিয়ালযোগ্য করে তুলতে যে প্রচেষ্টাটি ব্যয় করতে চান তা ইন্টারফেস যুক্ত করার ব্যয়কে দ্বিগুণ করে।


9

কিছু শ্রেণীর জন্য, বিশেষত যারা ফাইল, সকেট, একটি থ্রেড, বা একটি ডিবি সংযোগের মতো আরও কিছু শারীরিক উপস্থাপন করে, এটি উদাহরণগুলি সিরিয়াল করে তোলার কোনও ধারণা রাখে না। অনেকের ক্ষেত্রে, সিরিয়ালাইজেশন সমস্যাযুক্ত হতে পারে কারণ এটি স্বতন্ত্রতার সীমাবদ্ধতাগুলি ধ্বংস করে বা কেবল আপনাকে শ্রেণীর বিভিন্ন সংস্করণের উদাহরণ সহকারে ডিল করতে বাধ্য করে, যা আপনি চান না।

যুক্তিযুক্তভাবে, কোনও কিওয়ার্ড বা মার্কার ইন্টারফেসের মাধ্যমে ক্লাসগুলি অ-সিরিয়ালাইজযোগ্য করার জন্য ডিফল্টরূপে সবকিছুকে সিরিয়ালাইজেবল করে তোলা আরও ভাল ছিল - তবে তারপরে, যাদের এই বিকল্পটি ব্যবহার করা উচিত তারা সম্ভবত এটি সম্পর্কে ভাববেন না। এটি যেভাবে হয়, যদি আপনার সিরিয়ালাইজেবল বাস্তবায়ন করতে হয় তবে আপনাকে একটি ব্যতিক্রম বলে তা জানানো হবে।


4

আমি মনে করি যদিও প্রোগ্রামার হিসাবে আপনি নিশ্চিত হওয়া উচিত ছিল যে আপনার অবজেক্টটি আমার ক্রমিকায়িত হবে।


3

দৃশ্যত কিছু প্রাথমিক ডিজাইনে সবকিছু সিরিয়ালযোগ্য ছিল, তবে সুরক্ষা এবং সঠিকতার কারণে উদ্বেগের কারণে চূড়ান্ত নকশাটি আমরা সবাই জানি।

উত্স: অবজেক্টআউটপুট স্ট্রিমে লেখার জন্য শ্রেণিগুলিকে কেন সিরিয়ালাইজেবল বাস্তবায়ন করতে হবে?


1

একটি নির্দিষ্ট শ্রেণির উদাহরণগুলি স্পষ্টতই বর্ণনা করে বলা যে ভাষা আপনাকে ক্রমবর্ধমান করার বিষয়ে ভাবতে বাধ্য করে you সাধারণ মান অবজেক্টের জন্য সিরিয়ালাইজেশন তুচ্ছ, তবে আরও জটিল ক্ষেত্রে আপনাকে সত্যিকার অর্থে জিনিসগুলি ভাবতে হবে।

কেবলমাত্র জেভিএমের স্ট্যান্ডার্ড সিরিয়ালাইজেশন সমর্থনের উপর নির্ভর করে আপনি নিজেকে সমস্ত ধরণের দুষ্টু সংস্করণে প্রকাশ করেন ose

স্বতন্ত্রতা, 'রিয়েল' রিসোর্সের উল্লেখ, টাইমার এবং প্রচুর অন্যান্য ধরণের নিদর্শন সিরিয়ালকরণের প্রার্থী নয়।


1

সিরিয়ালাইজযোগ্য ইন্টারফেস বোঝার জন্য এটি পড়ুন এবং কেন আমাদের কেবল কয়েকটি শ্রেণি সিরিয়ালাইজেবল করা উচিত এবং এছাড়াও আমরা সংরক্ষণের পদ্ধতি থেকে কয়েকটি ক্ষেত্র সরিয়ে ফেলতে চাইলে ক্ষণস্থায়ী কীওয়ার্ডটি কোথায় ব্যবহার করা যায় সেদিকে খেয়াল রাখব।

http://www.codingeek.com/java/io/object-streams-serialization-deserialization-java-example-serializable-interface/


0

ঠিক আছে, আমার উত্তরটি হ'ল এটি কোনও উপযুক্ত কারণে নয়। এবং আপনার মন্তব্যগুলি থেকে আমি দেখতে পাচ্ছি যে আপনি এটি ইতিমধ্যে শিখে ফেলেছেন। অন্যান্য ভাষাগুলি 10 টি গণনা করার পরে গাছের উপরে ঝাঁপ দেয় না এমন সমস্ত কিছু আনন্দের সাথে চেষ্টা করে।

সুতরাং, আপনাকে মূলত যা করা দরকার তা হ'ল আপনার তৃতীয় পক্ষের শ্রেণীর সমস্ত বৈশিষ্ট্য নিজেই পড়া। বা, যদি এটি আপনার জন্য বিকল্প হয়: ডিকম্পাইল করুন, জঘন্য কীওয়ার্ডটি সেখানে রাখুন এবং পুনরায় সংকলন করুন।


2
সিরিয়ালাইজেশন কাঠামোর সামঞ্জস্যতা বীমাকৃত না হওয়ায় বাধা এবং সম্ভাব্য সমস্যা যুক্ত করে। আইএমএইচও, এটি ভাল যে এটি ডিফল্টরূপে বন্ধ।
উরি

আপনি "কাঠামোর সামঞ্জস্য" বলতে কী বোঝায় তা আমি নিশ্চিত নই।
nes1983

0

জাভাতে এমন কিছু জিনিস রয়েছে যা কেবল সিরিয়ালাইজ করা যায় না কারণ সেগুলি রানটাইম নির্দিষ্ট। স্ট্রিম, থ্রেড, রানটাইম ইত্যাদির মতো জিনিস এবং এমনকি কিছু জিইউআই ক্লাস (যা অন্তর্নিহিত ওএসের সাথে সংযুক্ত রয়েছে) সিরিয়ালাইজ করা যায় না।


0

যদিও আমি এখানে অন্যান্য উত্তরে প্রদত্ত পয়েন্টগুলির সাথে একমত, প্রকৃত সমস্যাটি হ'ল ডিসিরিয়ালাইজেশন নিয়ে: শ্রেণীর সংজ্ঞা পরিবর্তিত হলে ডেসরিয়ালাইজেশন কাজ করবে না এমন একটি সত্য ঝুঁকি রয়েছে। বিদ্যমান ক্ষেত্রগুলি কখনও সংশোধন করা কোনও গ্রন্থাগারের লেখকের পক্ষে তৈরি করার জন্য একটি দুর্দান্ত প্রধান প্রতিশ্রুতি নয়! এপিআই সামঞ্জস্যতা বজায় রাখা যেমন কাজ ঠিক তেমন যথেষ্ট।


এটি সঠিক নয়। আপনাকে অবজেক্ট সিরিয়ালাইজেশন স্পেসিফিকেশনের সিরিয়ালাইজেবল অবজেক্টস অধ্যায়টির সংস্করণটি পড়তে হবে, আপনি এখানে যে দাবি করেন তা যদি সত্য হয় তবে তা উপস্থিত থাকবে না। পূর্বের সিরিয়ালাইজেশনের সাথে বেমানান হওয়ার আগে শ্রেণি সংজ্ঞা বরং প্রশস্ত সীমাতে পরিবর্তন করতে পারে। এবং এটি অবশ্যই প্রশ্নের উত্তর নয়। আসল কারণটি সুরক্ষা উদ্বেগের সাথে সম্পর্কিত।
লার্নের মারকুইস

@ এজেপি, সত্যতার স্বার্থে আমি আপনার উত্তরগুলি প্রতিফলিত করতে আমার উত্তর সম্পাদনা করেছি। আবেগটি দাঁড়িয়ে আছে, এটি একটি বড় প্রতিশ্রুতি যা অবশ্যই অনির্বাচনের পরিবর্তে অপ্ট-ইন করা উচিত
কার্টেনডোগ

0

একটি শ্রেণি যা ফাইল বা অন্য মিডিয়ায় অবিচলিত হওয়া দরকার সিরিয়ালাইজেবল ইন্টারফেস প্রয়োগ করতে হবে, যাতে জেভিএম ক্লাস অবজেক্টকে সিরিয়ালায়িত করার অনুমতি দিতে পারে। কেন অবজেক্ট ক্লাসটি সিরিয়ালযুক্ত নয় তবে ক্লাসগুলির কোনওটিরই ইন্টারফেস বাস্তবায়নের দরকার নেই, সমস্ত জেভিএম কেবল তখনই ক্লাসটি ক্রমিকায়িত করে যখন আমি অবজেক্টআউটপুটস্ট্রিম ব্যবহার করি যার অর্থ জেভিএমকে সিরিয়াল করতে দেওয়ার জন্য নিয়ন্ত্রণটি এখনও আমার হাতে রয়েছে।

ক্লাস ভার্সনটি প্রধান সমস্যা হ'ল অবজেক্ট ক্লাসটি ডিফল্টরূপে সিরিয়ালযোগ্য না হওয়ার কারণ। সুতরাং সিরিয়ালায়নে আগ্রহী প্রতিটি শ্রেণিকে স্পষ্টরূপে সিরিয়ালাইজেবল হিসাবে চিহ্নিত করতে হবে এবং একটি সংস্করণ নম্বর সিরিয়াল ভার্সনিউড সরবরাহ করতে হবে।

তাহলে serialVersionUID তারপর দেওয়া হয় না আমরা অপ্রত্যাশিত ফলাফল পেতে বস্তুর deserialzing যখন, এটা কেন জেভিএম ছোঁড়ার হয় InvalidClassException যদি serialVersionUID সাথে মিলছে না। সুতরাং উভয় প্রান্তে উপস্থাপিত ক্লাসটি অভিন্ন কিনা তা নিশ্চিত করতে প্রতিটি শ্রেণিকে সিরিয়ালাইজেবল ইন্টারফেস বাস্তবায়ন করতে হবে এবং সিরিয়াল ভার্সনইউডিউ সরবরাহ করতে হবে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.