English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

الفرق بين التسلسل والتخزين الخارجي في Java

التحويل إلى سلسلة والخارجية هي عملية تحويل الكائن إلى بيانات تدفق النصوص وتخزين تدفق البيانات في قاعدة البيانات أو الذاكرة. يمكن للفئات التي تنفذ واجهة java.io.Serializable أن يتم تحويلها. من جهة أخرى، بناءً على متطلبات التطبيق، تستخدم الخارجية لتحديد التحويل المخصص. توسع الخارجية java.io.Serializable. 

الرقمالمفتاحالتحويلالتحويل الخارجي
1
واجهة
التحويل هو واجهة معلنة 
التحويل الخارجي يحتوي على طريقتين readExternal وwriteExternal. 
2 
التحقق من منطق التحقق من التسلسل 
التحقق من منطق التحقق من التسلسل 
التحويل الخارجي يقدم للبرنامج التحكم في اللغة لتحديد منطق التحقق من التسلسل أو التحقق من التسلسل.
3 
طرق تجاهل المتغيرات 
في التحويل، يقوم JVM بتجاهل المتغيرات اللحظية أثناء تحويل وتحويل الأوبجكتات. 
يمكن للبرمجيات الكتابة لاستراتيجيات خاصة لتجاهل بعض المتغيرات أثناء عملية تحويل الأوبجكتات. 
4 
الأداء 
في واجهة قابلة للتحويل، يمكن أن يؤدي التأمل إلى انخفاض الأداء.
يمكن للتحويل الخارجي التحكم الكامل في الطريقة المطبقة. 
5 
تحويل الأوبجكتات الموروثة 
1. إذا لم يتم تحويل الأب، يمكن للفرعية أن يتم تحويلها.
2. إذا لم يتم تحويل الفرعية ولكن يتم تحويل الأب 
يمكننا أيضًا تطبيق ذلك على التحويل الخارجي.

مثال قابلة للتحويل الخارجي

class – ExternalizableExample – implements – Externalizable – {
   Integer – id;
   @Override
   public – void – writeExternal(ObjectOutput – out) – throws – IOException – {
      out.writeInt( – id – );
   }
   @Override
   public – void – readExternal(ObjectInput – in) – throws – IOException, – ClassNotFoundException – {
      this.id – = – in.readInt();
   }
}

مثال قابلة للتحويل

class – SerializableExample – implements – Serializable – {
   private – static – final – long – serialVersionUID – = –5081877L;
   String – name;
}