"Halo, Amigo! Saya ingin memberi tahu Anda satu detail lagi tentang serialisasi."
Misalkan kelas kita berisi referensi ke beberapa InputStream . Lalu tidak bisa diserial kan?
"Benar. Anda sendiri mengatakan bahwa aliran tidak dapat diserialkan. Dan Anda tidak dapat membuat serialisasi objek yang memiliki data non-serializable."
"Benar. Begitu saja. Tetapi bagaimana jika kelas menyimpan data yang tidak memainkan peran penting dalam statusnya dan mencegah kelas tersebut dianggap sebagai kelas yang dapat diserialkan? Sudahlah kelas mungkin menyimpan hal-hal yang tidak perlu. Itu bisa melemparkan ini data kapan saja dan bahkan mungkin—sepanjang waktu."
Untuk kasus ini, pembuat Java membuat kata kunci sementara . Jika kita menulis kata kunci ini sebelum variabel anggota, maka akan diabaikan selama serialisasi. Statusnya tidak akan disimpan atau direkonstruksi. Seolah-olah itu tidak ada. Ini hanya untuk situasi yang baru saja kita pertimbangkan.
Ingat caching dan pengubah volatile ? Tidak ada aturan tanpa pengecualian .
Inilah salah satu contoh kebahagiaan ini:
Contoh «kucing» dengan variabel yang tidak terlihat untuk serialisasi:
class Cat implements Serializable
{
public String name;
public int age;
public int weight;
transient public InputStream in = System.in;
}
GO TO FULL VERSION