التسلسل هو عملية تحويل معلومات الحالة لكائن ما إلى نموذج يمكن تخزينه أو نقله. بشكل عام ، يتم تخزين كائن في وسيط تخزين ، مثل المحفوظات أو المخازن المؤقتة. أثناء نقل الشبكة ، يمكن أن يكون بتنسيقات مثل BYTES أو XML. يمكن لتنسيقات ترميز البايت أو XML استعادة كائنات متساوية تمامًا. وتسمى هذه العملية المعاكسة أيضا التخلص من التخلص .
التسلسل وتهلسل كائنات Java <br /> في Java ، يمكننا إنشاء كائنات بعدة طرق ، ويمكننا إعادة استخدام الكائن طالما لم يتم إعادة تدوير الكائن. ومع ذلك ، فإن كائنات Java التي نقوم بإنشائها موجودة جميعًا في ذاكرة كومة JVM. يمكن أن توجد هذه الكائنات فقط عندما يكون JVM في حالة الجري. بمجرد توقف JVM ، يتم فقد حالة هذه الأشياء.
ومع ذلك ، في سيناريوهات التطبيق الحقيقي ، نحتاج إلى استمرار هذه الكائنات وأن نكون قادرين على إعادة قراءة الكائنات عند الحاجة. يمكن أن يساعدنا التسلسل Java Object في تنفيذ هذه الوظيفة.
آلية التسلسل الكائن هي طريقة ثبات كائن مدمجة في لغة Java. من خلال تسلسل الكائن ، يمكن حفظ حالة الكائن كصفيف بايت ، ويمكن تحويل صفيف البايت هذه إلى كائن من خلال التخلص من ذلك عند الضرورة. يمكن تحويل تسلسل الكائن بسهولة بين الكائنات النشطة ومصفوفات البايت (التدفقات) في JVM.
في Java ، يتم استخدام التسلسل وتجاهل الكائنات على نطاق واسع في RMI (مكالمات الطريقة عن بعد) ونقل الشبكة.
توفر الواجهات ذات الصلة وفصول Java واجهة برمجة تطبيقات مريحة لدعمها من أجل تسهيل المطورين لتسلسل كائنات Java وتهرب من جافا. وهذا يشمل الواجهات والفصول التالية:
يتيح الفصل وظائف التسلسل الخاصة به من خلال تنفيذ واجهة java.io.serializable. لن تكون الفصول التي لا تنفذ هذه الواجهة قادرة على إجراء تسلسل أو تخلص من أي من ولاياتها. جميع الأنواع الفرعية للطبقة المتسلسلة هي نفسها قابلة للتسلسل. لا تحتوي واجهة التسلسل على طرق أو حقول ولا تستخدم إلا لتحديد الدلالات القابلة للتسلسل. (لا تحتوي هذه الواجهة على طرق وحقول ، فلماذا لا يمكن إلا أن تكون كائنات الفئة التي تنفذ الواجهة متسلسلة؟)
عند محاولة تخصيص كائن ، إذا تمت مواجهة كائن لا يدعم الواجهة القابلة للتسلسل. في هذه الحالة ، يتم إلقاء NotserializableException.
إذا كان لدى الفصل المطلوب تسلسله فئة أولياء الأمور ، وإذا كنت ترغب في استمرار المتغيرات المحددة في الفئة الأصل في نفس الوقت ، فيجب على الفئة الأصل أيضًا دمج الواجهة java.io.serializable.
هنا فئة تنفذ واجهة java.io.serializable
package com.hollischaung.serialization.serializabledemos ؛ استيراد java.io.serializable ؛/*** تم إنشاؤه بواسطة hollis على 16/2 name ؛} public int getage () {return Age ؛} public void setage (int age) {this.age = age ؛}@outridepublic string toString () {return "user {" التسلسل والخروج من خلال الكود التالي
package com.hollischaung.serialization.serializabledemos ؛ import org.apache.commons.io.fileutils ؛ import org.apache.commons.io.ioutils ؛ استيراد java.io. إنها تريد أن تكون متسلسلة*/فئة عامة serializabledEmo1 {public static void main (string [] args) {// تهيئة مستخدم ObjectUSer1 = جديد user1 () ؛ user.setName ("hollis") ؛ user.setage (23) ؛ system.out.println (user) ؛ fileOutputStream ("tempfile")) ؛ oos.writeObject (user) ؛} catch (ioException e) { fileInputStream (file)) ؛ user1 newUser = (user1) ois.ReadObject () ؛ system.out.println (newUser) ؛} catch (ioException e) { {fileutils.forcedelete (file) ؛} catch (ioException e) {e.printstacktrace () ؛}}}}ما سبق هو كل شيء عن هذا المقال. آمل أن يكون من المفيد للجميع أن يتعلموا التسلسل التسلسلي للكائنات والخروج في جافا.