"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:

Kode
class Cat implements Serializable
{
 public String name;
 public int age;
 public int weight;

 transient public InputStream in = System.in; 
}