میں سیریلائزیشن ایک اہم تصور ہے جو جاوا اشیاء کو ایک جاوا ورچوئل مشین سے دوسرے میں لے جانے اور اصل شکل میں دوبارہ تخلیق کرنے کے لئے بائٹ اسٹریم میں اشیاء کی تبدیلی سے متعلق ہے۔ میں اس مضمون کے لئے ڈکیٹ کو درج ذیل بناؤں گا:
- جاوا میں سیریلائزیشن کیا ہے؟
- ہمیں جاوا میں سیریلائزیشن کی ضرورت کیوں ہے؟
- ہم کسی شے کو کس طرح سے ترتیب دیں گے؟
- جاوا میں سیریلائزیشن کے فوائد اور نقصانات
- جاوا میں سیرلائزیشن کی عملی مثالوں
- خارجی انٹرفیس
- عبوری مطلوبہ الفاظ
- سیریل ورژن UID
- جاوا میں سیریلائزیشن کے تنازعات
- جاوا میں سیریلائزیشن کا استعمال کرتے وقت بہترین عمل
جاوا میں سیریلائزیشن کیا ہے؟
سیریلائزیشن جاوا میں جاوا کوڈ کو تبدیل کرنے کا عمل ہے چیز میں ایک بائٹ اسٹریم ، آبجیکٹ کوڈ کو ایک جاوا ورچوئل مشین سے دوسری میں منتقل کرنا اور اس کے عمل کو استعمال کرکے اسے دوبارہ بنانا ڈیسیریلائزیشن۔
ہمیں سیریلائزیشن کی ضرورت کیوں ہے جاوا میں ؟
ہمیں مندرجہ ذیل وجوہات کی بناء پر سیریلائزیشن کی ضرورت ہے۔
مواصلات : سیریلائزیشن میں اعتراض کا طریقہ کار شامل ہے سیریلائزیشن اور منتقلی. یہ متعدد کمپیوٹر سسٹمز کو بیک وقت اشیاء کو ڈیزائن ، ان کا اشتراک اور ان پر عمل درآمد کرنے کے قابل بناتا ہے۔
کیچنگ : کسی شے کو بنانے میں جو وقت خرچ ہوتا ہے اس کا مقابلہ ڈی سیریلائز کرنے کے لئے درکار وقت سے زیادہ ہوتا ہے۔ سیریلائزیشن وقت کی کھپت کو کم کرتی ہے کیچنگ وشال اشیاء.
گہری کاپی : کلوننگ سیرلائزیشن کا استعمال کرکے عمل کو آسان بنایا گیا ہے۔ ایک عین مطابق نقل کسی چیز کی طرف سے حاصل کیا جاتا ہےاعتراض a بائٹ سرنی ، اور پھر اسے ڈی سیریلائز کرنا۔
کراس جے وی ایم ہم آہنگی: سیریلائزیشن کا سب سے بڑا فائدہ یہ ہےمختلف JVMs میں کام کرتا ہے جو مختلف پر چل سکتے ہیں فن تعمیرات یا آپریٹنگ سسٹم
استقامت: کسی بھی چیز کی حالت براہ راست اس پر سیریلائزیشن لگا کر محفوظ کی جاسکتی ہے اور ایک میں محفوظ کی جاسکتی ہے ڈیٹا بیس تاکہ یہ ہو سکے بعد میں بازیافت ہوا۔
جاوا میں سکینر کلاس کیسے استعمال کریں
ہم کسی شے کو کس طرح سے ترتیب دیں گے؟
TO جاوا اعتراض ہے سیریلائزبل اگر اور صرف اس صورت میں جب اس کی کلاس یا اس کی کوئی بھی والدین کلاس نافذ کرتی ہے جاوا . میں . سیرائزیبل انٹرفیس یا اس کے ذیلی سطح ، java.io.Externizable.
سیریلائزیشن کے عمل میں ، ہم کسی شے کی حالت کو بائٹ اسٹریم میں تبدیل کرتے ہیں تاکہ اسے ایک JVM سے دوسرے میں منتقل کیا جا سکے اور بائٹ اسٹریم کو اصل آبجیکٹ میں واپس لایا جاسکے۔
// انٹرفیس
پیکیج سیریل 1 امپورٹ java.io.Sriizable عوامی طبقاتی ملازم نافذ کرتا ہے Serializable {نجی جامد حتمی طویل سیریل ورژن II 1 = // سیریل ورژن UID INT اسٹرنگ کا نام عوامی ملازم (INT id ، اسٹرنگ کا نام) {this.id = id this.name = name }
// سیریلائز کرنا
پیکیج سیریل 1 درآمد java.io. * کلاس برقرار رہنا {عوامی جامد باطل اہم (سٹرنگ آرگس []) {کوشش کریں {ملازم ایمپ 1 = نیا ملازم (20110 ، 'جان') ملازم ایمپ 2 = نیا ملازم (22110 ، 'جیری') ملازم ایمپائر 3 = نیا ملازم (२०१2020، ، 'سام') فائل آؤٹ پٹ اسٹریم فاؤٹ = نیا فائل آؤٹ پٹ اسٹریم ('آؤٹ پٹ.ٹکسٹ') آبجیکٹ آؤٹ پٹ اسٹریم آؤٹ = نیا آبجیکٹ آؤٹ پٹ اسٹریم (فاؤٹ) آؤٹ رائٹ آو آبجیکٹ (ایمپ १) آؤٹ ۔ٹرایٹ آبجیکٹ (ایم پی 2) آؤٹ ۔ٹرایٹ آبجیکٹ (ایمپر)) آؤٹ۔ فلش () out.close () System.out.println ('سیریلائزیشن اور ڈیسیریلائزیشن کامیابی کے ساتھ عمل میں آچکی ہے')} کیچ (استثنا ای) {سسٹم آؤٹ.پریٹلن (ای)}}}
آؤٹ پٹ:
سیریلائزیشن اور ڈیسیریلائزیشن کامیابی کے ساتھ عمل میں لائی گئی ہے
ڈیسیریلائزیشن : یہ سیریلائزیشن کا الٹا عمل ہے جہاں بھیجنے والے کی جانب سے کسی چیز کی سیریلائزڈ بائٹ اسٹریم وصول کرنے کے اختتام پر دوبارہ تشکیل دی جاتی ہے۔
// ڈیسیریلائز
پیکیج سیریل 1 امپورٹ java.io. * کلاس Depersist {عوامی جامد باطل اہم (سٹرنگ آرگس []) {کوشش کریں {آبجیکٹ ان پٹ اسٹریم in = new ObjectInputStream (new fileInputStream ('output.txt')) ملازم e1 = (ملازم) in.readObject ( ) ملازم e2 = (ملازم) in.readObject () ملازم e3 = (ملازم) in.readObject () System.out.println (e1.id + '' + e1.name) System.out.println (e2.id + '' + e2.name) System.out.println (e3.id + '' + e3.name) in.close ()} کیچ (استثناء ای) {سسٹم آؤٹ.پریٹلن (ای)}}
آؤٹ پٹ:
20110 جان
22110 جیری
20120 سام
جاوا میں سیریلائزیشن کے فوائد اور نقصانات
فوائد:
- سیریلائزیشن کا عمل ایک ہے اندرونی ایسی خصوصیت جس میں سیریلائزیشن کو چلانے کے لئے تھرڈ پارٹی سافٹ ویئر کی ضرورت نہیں ہے
سیریلائزیشن کا طریقہ کار ثابت ہے آسان اور آسان سمجھنا
سیریلائزیشن کا طریقہ کار ہے عالمگیر اور مختلف پس منظر سے تعلق رکھنے والے اس سے واقف ہیں
یہ استعمال کرنا آسان ہے اور اپنی مرضی کے مطابق کرنے کے لئے آسان
سیریلائزڈ ڈیٹا اسٹریمز انکرپشن ، کمپریشن ، توثیق کی حمایت کرتے ہیں اور جاوا کمپیوٹنگ کو محفوظ کریں
بہت ہیں اہم ٹیکنالوجیز سیریلائزیشن پر انحصار کرتے ہیں۔
نقصانات:
ڈیشیرائزیشن بننے کے دوران اعتراضات ٹوٹنا اور وہ اس بات کا یقین نہیں رکھتے کہ وہ مؤثر طریقے سے ڈی سیرلائز ہوجائے۔
عارضی متغیرات کا اعلان کیا گیا تھا جبکہ سیرلائزیشن میموری کی جگہ پیدا کرتی ہے ، لیکن کنسٹرکٹر نہیں کہا جاتا ہے جس کے نتیجے میں عارضی متغیرات کی ابتدا میں ناکامی ہوتی ہے جس کے نتیجے میں معیاری جاوا کے بہاؤ میں تغیر۔
سیریلائزیشن کا عمل ہے ناکارہ میموری استعمال کے لحاظ سے۔
سیریلائزیشن کا استعمال ان ایپلی کیشنز میں کرنا بہتر ہے جو ضرورت ہو سمورتی رسائی کی ضرورت کے بغیر تیسری پارٹی کے APIs ، کیوں کہ سیریلائزیشن ہر ایس ای میں کسی بھی منتقلی کنٹرول میکانزم کی پیش کش نہیں کرتی ہے۔
سیریلائزیشن کا طریقہ کار پیش کرنے میں ناکام عمدہ دانے دار کنٹرول آبجیکٹ تک رسائی حاصل کرنا
جاوا میں سیرلائزیشن کی عملی مثالوں
وراثت کا استعمال کرتے ہوئے سیریلائزیشن
کیس - 1: اگر سپر کلاس سیرائزیبل ہے ، تو ، بطور ڈیفالٹ ، اس کے سبکلاسس بھی سیریلائزیشن کے قابل ہیں۔
اس معاملے میں ، سبکلاس بطور ڈیفالٹ سیریلائزیبل ہے اگر سپر کلاس لاگو کر رہا ہے سیریلائزیبل انٹرفیس
پیکیج سیریلائزیشن انٹریٹینس درآمد java.io.FileItputStream درآمد java.io.FileOutputStream درآمد java.io.ObjectInputStream درآمد java.io.ObjectOutputStream درآمد java.io.Sriizable کلاس A نفاذ سیریلائز ایبل public INT iii A (IN) {this.i = i}} کلاس B میں A {انٹ j پبلک B (INT I، INT j) {سپر (i) this.j = j}} عوامی کلاس ٹیسٹ {عوامی جامد باطل اہم (سٹرنگ [] آرگس) مستثنیٰ {B b1 = new B (200،400) System.out.println ('i =' + b1.i) System.out.println ('j =' + b1.j) فائل آؤٹ اسٹریم fos = نئی فائل آؤٹ پٹ اسٹریم ('abc.ser') آبجیکٹ آؤٹ پٹ اسٹریم آؤس = نیا آبجیکٹ آؤٹ پٹ اسٹریم (فوس) oos.writObject (b1) oos.close () fos.close () System.out.println ('آبجیکٹ کو سیرئلائز کیا گیا ہے') FileInputStream fis = new FileInputStream ('abc.ser') آبجیکٹ ان پٹ اسٹریم ois = نیا آبجیکٹ ان پٹ اسٹریم (فِس) بی بی 2 = (بی) ois.readObject () ois.close () fis.close () System.out.println ('آبجیکٹ کو ڈیسیریلائز کردیا گیا ہے') سسٹم آؤٹ.پریٹلن ('i = '+ b2.i) System.out.println (' j = '+ b2.j)}
آؤٹ پٹ:
j = 20
اعتراض کو سیریلائز کیا گیا ہے
آبجیکٹ کو غیر منقطع کردیا گیا ہے
i = 200
j = 400
کیس - 2: ایک ذیلی کلاس کو سیریلائز کیا جاسکتا ہے اگر وہ سیرلائز ایبل انٹرفیس کو نافذ کرتا ہے چاہے ایک سپر کلاس سیرلائز ایبل انٹرفیس پر عمل درآمد نہیں کرتا ہے۔
اس صورت میں ، اگر سپر کلاس عمل نہیں کر رہا ہے سیریلائزیبل انٹرفیس ، پھر ، کے اشیاء سبکلاس سبکلاس میں سیرلائز ایبل انٹرفیس کو لاگو کرکے دستی طور پر سیریلائز کیا جاسکتا ہے۔
جاوا کوڈ پروگرام ختم کرنے کے لئے
پیکیج سیریلائزیشنInheritance درآمد java.io.FileItputStream درآمد java.io.FileOutputStream درآمد java.io.ObjectInputStream درآمد java.io.ObjectOutputStream درآمد java.io.Sriizable کلاس سپر کلاس {int i عوامی superclass (int i) {this.i = عوامی سپر کلاس () {i = 50 System.out.println ('سپر کلاس کنسٹرکٹر کہا جاتا ہے')}} کلاس ذیلی طبقے میں سپر کلاس کا اطلاق ہوتا ہے سیرئلیز ایبل {انٹ جے پبلک سبکلاس (انٹ آئی ، انٹ ج) {سپر (i) اس. جے = جے class} پبلک کلاس ٹیسٹ 2 {عوامی جامد باطل اہم (سٹرنگ [] آرگس) استثنیٰ پھینک دیتا ہے {سبکلاس بی 1 = نیا سبکلاس (10 ، 20) سسٹم آؤٹ.پریٹلن ('i =' + b1.i) سسٹم آؤٹ.پریٹلن ( 'j =' + b1.j) فائل آؤٹ پٹ اسٹریم fos = نئی فائل آؤٹ پٹ اسٹریم ('آؤٹ پٹ.سر') آبجیکٹ آؤٹ پٹ اسٹریم oos = نیا آبجیکٹ آؤٹ پٹ اسٹریم (fos) oos.writeObject (b1) oos.close () fos.close () System.out.println ('آبجیکٹ کو سیریلائزڈ کر دیا گیا ہے') فائل ان پٹ اسٹریم fis = نئی فائل ان پٹ اسٹریم ('آؤٹ پٹ.سر') آبجیکٹ ان پٹسٹریم ois = نیا آبجیکٹ ان پٹ اسٹریم (فِس) سبکلاس بی 2 = (سبکلاس) ois.readObject ( ) ois.close () fis.close () System.out.println ('آبجیکٹ کو ڈیسیریلائز کردیا گیا ہے') System.out.println ('i =' + b2.i) System.out.println ('j =' + b2.j)}
اعتراض کو سیریلائز کیا گیا ہے
سپر کلاس کنسٹرکٹر بلایا
آبجیکٹ کو غیر منقطع کردیا گیا ہے
i = 50
j = 20
کیس - 3: اگر سپر کلاس سیریلائز ہونے کے قابل ہے ، لیکن ہمیں سب کلاس کو سیریلائزڈ کرنے کی ضرورت نہیں ہے۔
اس صورت میں ، ذیلی طبقے کی سیرلائزیشن کو روکا جاسکتا ہےکو لاگو کرتے ہوئے WritObject () اور مطالعہ آبجیکٹ () ذیلی طبقے میں طریقے اور اسے پھینکنے کی ضرورت ہے NotSerializableException ان طریقوں سے
پیکیج سیریلائزیشن انٹریٹینس درآمد java.io.FileInputStream درآمد java.io.FileOutputStream درآمد java.io.IOException درآمد java.io.NotSerializableException درآمد java.io.ObjectInputStream درآمد java.io.ObjectOutputStream درآمد جاوایسیریل ایجیکیٹ - درآمد i सार्वजनिक IOException {نیا NotSerializableException ()} نجی باطل پڑھیں آبجیکٹ (آبجیکٹ ان پٹ اسٹریم اِن) IOException کو پھینک دیتا ہے new پھینک دیتا ہے نہایت نوٹسیرئز ایبلپشن () class} عوامی کلاس test3 {عوامی جامد باطل مرکزی (سٹرنگ [] آرگس) پھینک دیتا ہے استثنا {بچہ b1 = نیا بچہ (100) 200) System.out.println ('i =' + b1.i) System.out.println ('j =' + b1.j) فائل آؤٹ پٹ اسٹریم fos = نئی فائل آؤٹ پٹ اسٹریم ('abc.ser') آبجیکٹ آؤٹ پٹ اسٹریم او ایس = نیا آبجیکٹ آؤٹ پٹ اسٹریم ( fos) oos.writeObject (b1) oos.close () fos.close () System.out.println ('آبجیکٹ سیریلائز کیا گیا ہے)) فائل ان پٹ اسٹریم fis = نئی فائل ان پٹ اسٹریم ('abc.ser') آبجیکٹ ان پٹسٹریم ois = نیا آبجیکٹ ان پٹ اسٹریم (fis) چائلڈ b2 = (بچہ) ois.readObject () ois.close () fis.close () سسٹم آؤٹ۔ println ('آبجیکٹ کو غیرسیاسی کردیا گیا ہے') System.out.println ('i =' + b2.i) System.out.println ('j =' + b2.j)}
آؤٹ پٹ:
i = 100
j = 200
تھریڈ 'مین' java.io.NotSerializableException میں رعایت
سیریلائزیشن۔انٹریٹینس ۔چائلڈ۔روائٹ آبجیکٹ (test3.java:48) پر
at sun.reflect.NativeMethodAccessorImpl.invoke0 (آبائی طریقہ)
جامد ممبر کا استعمال کرتے ہوئے سیریلائزیشن
سیریلائزیشن کے عمل میں جامد ممبر فیلڈ کے سیریلائزیشن کو نظرانداز کیا جاتا ہے۔ سیریلائزیشن ہےآبجیکٹ کی تازہ ترین حالت سے متعلق۔ لہذا ، صرف ایک کلاس کے کسی خاص مثال کے ساتھ وابستہ ڈیٹا ہےسیریلائزڈ لیکن مستحکم ممبر فیلڈ نہیں۔
پیکیج اسٹیٹی امپورٹ java.io. * کلاس اسٹیٹکشل نے سیریلائز ایبل {جامد int i = 100 عوامی جامد باطل مرکزی (سٹرنگ ... ar) نافذ کیا ہے۔ {StaticSerial ob = new StaticSerial () System.out.println ('سیریلائزیشن کے وقت ، جامد ممبر کی قیمت ہوتی ہے: '+ i) کوشش کریں {فائل آؤٹ پٹ اسٹریم fos = نئی فائل آؤٹ پٹ اسٹریم (' F: File.ser ') آبجیکٹ آؤٹ پٹ اسٹریم اوز = نیا آبجیکٹ آؤٹ پٹ اسٹریم (فووس) oos.writeObject (ob) oos.close () i = 99 فائل ان پٹ اسٹریم fis = نئی فائل ان پٹ اسٹریم ('F: File.ser') آبجیکٹ ان پٹسٹریم ois = نیا آبجیکٹ ان پٹ اسٹریم (fis) ob = (StaticSerial) ois.readObject () ois.close () System.out.println ('ڈیسیالائزیشن کے بعد ، جامد ممبر کی قیمت ہے:' + i)} کیچ (رعایت ای) {System.out.println (e)}}
آؤٹ پٹ:
سیریلائزیشن کے وقت ، جامد ممبر کی قیمت ہوتی ہے: 100
ڈیسیریلائزیشن کے بعد ، جامد ممبر کی قیمت ہوتی ہے: 99
خارجی انٹرفیس
خارجی انٹرفیس جاوا میں سیریلائزیشن کی طرح ہے لیکن فرق صرف اتنا ہے کہ وہ پیش کرنے کے قابل ہے تخصیص کردہ سیریلائزیشن جہاں آپ ندی میں ڈوبنے والی چیزوں کا فیصلہ کریں گے۔
خارجی انٹرفیس جاوا.یو میں دستیاب ہے اور یہ دو طریقے مہیا کرتا ہے۔
- عوامی باطل تحریری خارجی (آبجیکٹ آؤٹ پٹ آؤٹ) نے IOException کو پھینک دیا
- عوامی باطل پڑھنے والا خارجی (آبجیکٹ ان پٹ ان) IOException کو پھینک دیتا ہے
سیرلائزیشن اور بیرونی شکل کے مابین کلیدی اختلافات مندرجہ ذیل ہیں۔
عمل آوری : خارجی انٹرفیس صارف کو چھوڑ دیتا ہے واضح طور پر سیریلائز ہونے والی چیزوں کا ذکر کریں۔ جبکہ سیریلائزیشن انٹرفیس میں ، تمام اشیاء اور متغیرات کو سیریلائزڈ کیا گیا ہے رن ٹائم
طریقے : خارجی انٹرفیس دو طریقوں پر مشتمل ہوتا ہے ، یعنی۔
بیرونی ()
بیرونی پڑھیں ()
جب کہ ، سیرلائز ایبل انٹرفیس میں کوئی طریقہ شامل نہیں ہے۔
عمل: بیرونی انٹرفیس میں سیریلائزیشن کا عمل فراہم کرتا ہے تخصیص سیریلائزیشن کے عمل میں لیکن ، سیریلائزیشن انٹرفیس فراہم کرے گا پہلے سے طے شدہ سیریلائزیشن عمل
پیچھے کی طرف مطابقت اور کنٹرول: بیرونی قابل انٹرفیس سیریلائزیشن کی حمایت کرتا ہے قطع نظر اس سے ورژن کنٹرول اور صرف ایک مسئلہ یہ ہے کہ سپر کلاس کو سیریلائز کرتے وقت صارف کو ذمہ دار ہونا چاہئے۔ دوسری طرف ، سیریلائزیشن انٹرفیس کی ضرورت ہے ایک ہی ورژن دونوں سروں پر JVMs کی لیکن اس میں سپر کلاس سمیت تمام اشیاء اور کلاسوں کا خودکار سیریلائزیشن شامل ہے۔
پبلک نمبر آرگ کنسٹرکٹر: بیرونیकरण انٹرفیس کی ضرورت ہے پبلک نمبر آرگ کنسٹرکٹر سیریلائزڈ آبجیکٹ کی تشکیل نو کرنے کے لئے۔ جبکہ سیریلائزیشن انٹرفیس کو نو ارگ کنسٹرکٹر کی ضرورت نہیں ہے ، بجائے اس کے کہ وہ استعمال کرے عکس سیریلائزڈ آبجیکٹ یا کلاس کی تشکیل نو کرنے کے لئے۔
پیکیج ایکسٹ درآمد java.io. * کلاس ڈیمو نافذ کرتا ہے java.io.Sriizable {پبلک انٹر پبلک اسٹرنگ b پبلک ڈیمو (int a، سٹرنگ B) {this.a = a this.b = b b} Class ٹیسٹ {عوامی جامد باطل مین (سٹرنگ [] آرگس) {ڈیمو آبجیکٹ = نیا ڈیمو (1 ، 'ایڈورکا میں آپ کا استقبال ہے') سٹرنگ فائل کا نام = 'file.ser' کوشش کریں {فائل آؤٹ پٹ اسٹریم فائل = نئی فائل آؤٹ پٹ اسٹریم (فائل کا نام) آبجیکٹ آؤٹ پٹ اسٹریم آؤٹ = نئی آبجیکٹ آؤٹ پٹ اسٹریم (فائل) آؤٹ .writOb آبجیکٹ (آبجیکٹ) آؤٹ کولوس () file.close () سسٹم آؤٹ.پریٹلن ('آبجیکٹ کو سیرلائز کردیا گیا ہے')} کیچ (IOException سابقہ). System.out.println ('IOException پکڑا گیا ہے')} ڈیمو آبجیکٹ 1 = null try {FileInputStream file = new FileInputStream (filename) آبجیکٹ انپٹسٹریم in = new ObjectInputStream (فائل) آبجیکٹ 1 = (ڈیمو) in.readObject () in.close () file.close () سسٹم. آؤٹ.پریٹلن ('آبجیکٹ رہا ہے۔ deserialized ') System.out.println (' a = '+ object1.a) System.out.println (' b = '+ object1.b)} کیچ (IOException سابقہ) {System.out.println (' IOException پکڑا گیا ہے ')} کیچ (ClassNotFoundException سابقہ). سسٹم آؤٹ .println ('ClassNotFoundException پکڑا گیا')}}}
عبوری مطلوبہ الفاظ
عارضی کلیدی لفظ ایک ہے مخصوص مطلوبہ الفاظ جاوا میں یہ بطور a استعمال ہوتا ہے متغیر ترمیم سیریلائزیشن کے عمل کے وقت۔ عارضی مطلوبہ الفاظ کے ساتھ متغیر کا اعلان کرنے سے متغیر کو سیرلائز ہونے سے بچ جاتا ہے۔
سیریل ورژن UID
سیریلائزیشن کا عمل شروع ہونے سے پہلے ، ہر سیریلائزیبل کلاس / آبجیکٹ کے ساتھ وابستہ ہوجاتا ہے شناخت کا انوکھا نمبر میزبان مشین کے JVM کے ذریعہ فراہم کردہ۔ اس انوکھی ID کو کہا جاتا ہے سیریل ورژن UID . یہ UID موصولہ اختتام کی JVM کے ذریعہ شناخت کے بطور استعمال ہوتا ہے اس بات کی تصدیق کرنے کے لئے کہ وصول کنندہ کے اختتام پر اسی چیز کو ڈی سیرلائز کیا جارہا ہے۔
جاوا میں سیریلائزیشن کے تنازعات
اوریکل کی آرکیٹیکٹ کا ارادہ ہے کہ وہ جاوا سے سیریلائزیشن کو ہٹائیں کیونکہ وہ اس کو بطور A غور کرتے ہیں 1997 کی خوفناک غلطی . پُرجوش تحقیق کے بعد ، اوریکل کے ڈویلپرز کو سیریلائزیشن کے طریقہ کار کے ڈیزائن میں کچھ خامیوں کا پتہ چلا جس سے اعداد و شمار کو خطرہ لاحق ہے۔
سال 1997 میں ،مارک رین ہولڈ ریاستوں - ' ہم سیریلائزیشن کو ’’ تحفہ جو دیتے رہتے ہیں ‘‘ کہنا چاہتے ہیں ، اور تحفہ دینے کی وہ قسم جو حفاظتی خطرہ ہے۔ شاید جاوا کی تمام خرابیوں میں سے ایک تہائی سیریلائزیشن میں شامل ہوچکا ہے جو آدھے سے زیادہ ہوسکتا ہے۔ عدم استحکام کا ذکر نہ کرنا یہ حیرت انگیز طور پر خطرات کا شکار ہے۔
Qtp اور سیلینیم کے درمیان فرق
جاوا کے آئندہ اپ ڈیٹس میں سیریلائزیشن کو حذف یا تبدیل کردیا جائے گا اور دوسری طرف جاوا میں ابتدائی طور پر ، سیریلائزیشن نہیں کر سکا ایک مثالی آپشن ہو ان کے منصوبوں میں
جاوا میں سیریلائزیشن کا استعمال کرتے وقت بہترین عمل
ذیل میں چند بہترین عمل ہیں جن پر عمل کرنے کی ضرورت ہے
- اس کی سفارش کی جاتی ہے javadoc @ سیریلیزایبل فیلڈز کو ظاہر کرنے کے لئے سیریل ٹیگ۔
- .بننا سیریلائزڈ اشیاء کی نمائندگی کرنے والی فائلوں کے لئے توسیع کو استعمال کرنے میں ترجیح دی جاتی ہے۔
- کسی بھی جامد یا عارضی فیلڈ سے گزرنے کی سفارش نہیں کی جاتی ہے پہلے سے طے شدہ سیریلائزیشن.
- قابل توسیع کلاسز جب تک یہ نہیں ہے اس کو سیریلائز نہیں کیا جانا چاہئے لازمی
- اندرونی طبقات سیریلائزیشن میں شامل ہونے سے گریز کیا جانا چاہئے۔
اس کے ساتھ ، ہم اس مضمون کے آخر میں پہنچ گئے ہیں۔ مجھے امید ہے کہ آپ جاوا میں سیریلائزیشن کی بنیادی باتیں ، اس کی اقسام اور اس کی خصوصیات کو سمجھ چکے ہوں گے۔
چیک کریں ایڈوریکا کے ذریعہ ، ایک قابل اعتماد آن لائن سیکھنے والی کمپنی جس کی دنیا بھر میں 250،000 سے زیادہ مطمئن سیکھنے والوں کے نیٹ ورک ہیں۔ ایڈورکا کا جاوا J2EE اور SOA ٹریننگ اور سرٹیفیکیشن کورس طلباء اور پیشہ ور افراد کے لئے ڈیزائن کیا گیا ہے جو جاوا ڈویلپر بننا چاہتے ہیں۔ کورس آپ کو جاوا پروگرامنگ میں آغاز فراہم کرنے اور جاوا کے مختلف فریم ورکس جیسے ہائبرنیٹ اینڈ اینڈ ایڈوانس جاوا دونوں طرح کے تصورات کے ساتھ آپ کو تربیت دینے کے لئے ڈیزائن کیا گیا ہے۔ بہار .
ہمارے لئے ایک سوال ہے؟ اس کے 'جاوا میں سیریلائزیشن' مضمون کے تبصرے سیکشن میں اس کا تذکرہ کریں اور ہم جلد از جلد آپ کے پاس واپس آجائیں گے۔