تسلسل جافا ليست فعالة للغاية. إذايمكنك إجراء تسلسل للأشياء المتضخمة التي تحتوي على الكثير من السمات والخصائص ، فلا ترغب في إجراء تسلسل. هذا هو المكان الذي يظهر فيه الطابع الخارجي في Java في الصورة. ستساعدك هذه المقالة على فهم عمل التبرير.
- ما هو التبرير الخارجي في جافا؟
- متى تستخدم الخارجية؟
- ما هي واجهة الخارجية؟
- الفرق بين التبرير والتسلسل
هيا نبدأ!
ما هو التبرير الخارجي في جافا؟
يتم استخدام الخارجية في Java كلما احتجت إلى تخصيص ملف التسلسل آلية. إذا نفذت فئة واجهة خارجية ، فسيتم إجراء تسلسل للكائن باستخدام الطريقة writeExternal () . عندما يتم إعادة بناء كائن خارجي في نهاية المستقبل ، سيتم إنشاء مثيل باستخدام مُنشئ بدون وسيطة وتسمى هذه الطريقة readExternal ().
يخدم هذا أساسًا الغرض من التسلسل المخصص ، حيث يمكنك تحديد ما تريد تخزينه في التدفق.
متى تستخدم الخارجية؟
إذا كنت تريد إجراء تسلسل لجزء فقط من ملف موضوع و إذن ، التبرير هو الخيار الأفضل. سيكون عليك إجراء تسلسل للحقول المطلوبة فقط من الكائن.
ما هي واجهة الخارجية؟
إذا كنت ترغب في التحكم في عملية قراءة العناصر وكتابتها أثناء عملية التسلسل وإلغاء التسلسل ، فأنت بحاجة إلى أن تقوم فئة الكائن بتنفيذ الواجهة java.io.Externalizable . عندها فقط يمكنك تنفيذ التعليمات البرمجية الخاصة بك لقراءة وكتابة حالات الكائن. الاساليب، readExternal () و writeExternal () يتم تعريفها بواسطة قابل للتغير واجهه المستخدم .
كيفية طباعة سجل الالتزام git
دعونا نفهم هذه الأساليب بالتفصيل.
readExternal (إدخال الكائن)
ينفذ كائن الواجهة هذه الطريقة التي تساعد في استعادة محتوياتها عن طريق استدعاء طرقإدخال بياناتللأنواع البدائية. كما يدعوreadObjectللكائنات والسلاسل والمصفوفات. الآن دعونا نناقش كيفية تنفيذ هذه الطريقة readExternal.
على هذا النحو readExternal () الطريقة تأخذ إدخال الكائن ، يمكنك استخدام طريقته لقراءة حالات الكائن من التدفق الأساسي لهذه القواعد:
جمع الأرقام في جافا عدد صحيح
- بالنسبة للأنواع البدائية ، يمكنك استخدام ملحق readXXX () طرق إدخال بياناتواجهه المستخدم. هم هم ، readBoolean ()و readByte ()و readInt ()و readLong ().
- إذا كان لديك أنواع كائنات مثل سلاسل أو مصفوفات أو أي من مخصصاتك الطبقات ، يمكنك استخدام readObject () طريقة.
مثال:
يطرح readExternal (ObjectInput in) الفراغ العام ClassNotFoundException و IOException {this.code = in.readInt () this.name = (String) in.readObject () this.password = (String) in.readObject () this.birthday = ( التاريخ) in.readObject ()}
كما ترى هنا ، قمت بإلغاء تسلسل السمات التالية: الرمز والاسم وكلمة المرور وتاريخ الميلاد.
writeExternal (إخراج الكائن)
يقوم كائن الواجهة بتنفيذ هذه الطريقة لحفظ المحتويات عن طريق استدعاء أساليب DataOutput للقيم الأولية أو استدعاء الكتابة طريقة ObjectOutput للكائنات والسلاسل والمصفوفات. الآن ، دعونا نلقي نظرة على عملية التنفيذ.
على هذا النحو writeExternal () الطريقة تأخذإخراج الكائن، يمكنك استخدام طريقته لكتابة حالات الكائن في التدفق الأساسي باتباع القواعد التالية:
- بالنسبة للأنواع البدائية ، استخدم الكتابة XXX () طرق إخراج البياناتواجهة مثل writeBoolean ()و writeByte ()و writeInt ()و writeLong ()، إلخ.
- لأنواع الكائنات مثل و المصفوفات ، فصولك المخصصة ، يمكنك استخدام writeObject () طريقة.
مثال:
يطرح writeExternal العامة (ObjectOutput out) IOException {out.writeInt (code) out.writeObject (name) // اكتب كلمة مرور فارغة: out.writeObject ('') out.writeObject (عيد ميلاد)}
ومع ذلك ، هنا ، يمكنك أن ترى أنني قمت بتسلسل السمات التالية: الرمز والاسم وكلمة المرور وتاريخ الميلاد.
الآن ، بالانتقال إلى الموضوع التالي في هذه المقالة الخارجية في Java ، دعنا نناقش الاختلافات الرئيسية بين الخارجية والتسلسل في Java.
كيفية تجميع برنامج جافا
التبرير مقابل التسلسل: الفرق بين التبرير والتسلسل
هذا هو واحد من أكثر الأسئلة التي يكثر طرحها .
المعلمات | التبرير | التسلسل |
معالجة | يستخدم عملية التسلسل المخصص | يستخدم عملية التسلسل الافتراضية |
UID | لا حاجة إلى UID | يحتاج إلى serialVersionUID |
تخزين | يجب عليك تخزين البيانات التي لها كائن | يمكنك تخزين الكائن مباشرة |
التمكن من | توفر الواجهة الخارجية التحكم الكامل في عملية التسلسل إلى التطبيق. | لا يوجد مثل هذا الوصول |
أتمنى أن تكون واضحًا يا رفاق في ما يتعلق بالتشخيص الخارجي مقابل التسلسل. وبهذا نصل إلى نهاية هذه المقالة حول 'الخارجية في جافا'. آمل أن تكونوا واضحين يا رفاق بشأن الموضوعات التي تمت مشاركتها معكم.
آمل أن يكون المحتوى المذكور أعلاه مفيدًا في تعزيز المعرفه. استمر في القراءة ، استمر في الاستكشاف!
راجع أيضًا من Edureka ، وهي شركة تعليمية موثوقة عبر الإنترنت مع شبكة تضم أكثر من 250000 متعلم راضٍ منتشرين في جميع أنحاء العالم. تم تصميم دورة تدريب وشهادة Java J2EE و SOA من Edureka للطلاب والمهنيين الذين يرغبون في أن يصبحوا مطوري Java. تم تصميم الدورة التدريبية لمنحك السبق في برمجة Java وتدريبك على مفاهيم Java الأساسية والمتقدمة جنبًا إلى جنب مع العديد مثل السبات والربيع.