5 Eylül 2019 Perşembe

Binary Custom Serialization

Giriş
Serializable arayüzünün davranışını değiştirmek yani Custom Serialization mümkün. Açıklaması şöyle.
Serializable classes that want to customize or add some additional logic to enhance the normal serialization/deserialization process should provide writeObject and readObject methods...
Yani eğer Serializble arayüzünün davranışını değiştirmek istersek şu metodları override etmek gerekir.
private void writeObject(java.io.ObjectOutputStream out)
 throws IOException

private void readObject(java.io.ObjectInputStream in)
 throws IOException, ClassNotFoundException;

private void readObjectNoData()
 throws ObjectStreamException;
readObject metodu
readObject() metodu içinde in.defaultReadObject() metodu çağrılır. Açıklaması şöyle.
We still have to use the default serialization logic by calling ObjectOutputStream.defaultWriteObject() and ObjectInputStream.defaultReadObject() from writeObject and readObject methods. And if we do not call these default methods, our object will not be serialized/deserialized.
Ayrıca transient alanlar ilklendirilir.

Hiç yorum yok:

Yorum Gönder