Objek Serialisasi – JAVA

  • Kita dapat menyimpan sebuah keadaan Objek dengan Menserialisasi Objek tersebut.
  • Untuk Menserialisasi sebuah Objek, kita butuh sebuah ObjectOutputStream (dari java.io)
  • Streams (Bahasa indonesianya : aliran) terbagi menjadi 2, yaitu Aliran Koneksi (Connection Streams) atau Aliran Berantai (Chain Streams).
  • Connection Streams dapat digambarkan sebagai sebuah Koneksi ke sebuah sumber atau tujuan, khususnya sebuah file, koneksi jaringan soket, atau konsol.
  • Chain Streams Tidak dapat menghubungkan ke sebuah sumber atau tujuan dan harus di dirantai ke sebuah aliran koneksi (atau lainnya).
  • Untuk menserialisasikan sebuah Objek ke file, buat sebuah FileOutputStream dan rantaikan ia ke sebuah ObjectOutputStream.
  • Untuk menserialisasikan sebuah Objek, panggil writeObject(objek) pada ObjectOutputStream. Kita tidak butuh memanggil method pada FileOutpurStream.
  • Untuk menserialisasi, sebuah objek harus impelementasikan Interface Serializable. Jika sebuah superclass meng-implementasikan Serializable, subclass akan secara otomatis di Serialisasikan bahkan jika tidak diberikan implementasi Serializable.
  • Ketika sebuah Objek diserialisasikan, Seluruh Grafik Objek akan diserialisasi. Yang berarti objek referensi dari instans variable objek yang diserialisasi manapun akan diserialisasikan.
  • Jika beberapa objek di grafik tidak diserialisasi, sebuah exception (pengecualian) akan dijalankan pada saat program dieksekusi, kecuali instance variable yang mengacu ke objek dilewati.
  • Tanda sebuah Instance Variable dengan kata kunci transient jika kita ingin proses serialisasi melewati / mengabaikan instance variable tsb. Variable akan diberikan niali null (untuk objek referensi) atau nilai default (untuk primitive).
  • Selama Deserialisasi, class dari semua Objek-Objek di grafik Harus tersedia di JVM (Java Virtual Machine).
  • Kita membaca objek di (menggunakan readObject() ) di dalam urutan ketika objek-objek tsb ditulis / dimasukkan ke JVM.
  • Tipe kembalian (return) dari readObject() adalah tipe Objek, jadi Objek-objek deserialisasi harus melemparkannya ke tipe sebenarnya (int, string atau primitive lainnya).
  • Variabel Static TIDAK DISERIALISASI! Tidak masuk akal untuk menyimpan sebuah nilai static variable dari keadaan objek yang spesifik, karena semua objek-objek yang diketik hanya membagi sebuah nilai tunggal.
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s