apakah yang dimaksud dengan java serialization itu?
java serialization adalah mekanisme dimana sebuah objek/file dapat direpresentasikan sebagai sebuah aliran bytes yang didalamnya terdapat informasi tentang sebuah objek dan tipe data yang ada didalamnya.
secara gamblang, fungsi serialisasi disini agar file dapat dibaca oleh stream sehingga kita dapat membuat duplikat objek tersebut dalam sebuah files yang nantinya dapat di restore / dilakukan komputasi lebih lanjut oleh program lanjutan yang ada di pc local maupun network lain (misal : remote desktop)
atau dimodifikasi untuk dimasukkan kedalam database.
ObjectInputStream dan ObjectOutputStream merupakan stream yang digunakan untuk serialisasi dan de-serialisasi.
public class pelajar implements Serializable
{
//kita buat tipe datanya
private String nama;
private String alamat;
private int nim;
public void cetak() { System.out.println("saya adalah seorang pelajar dengan " + nama + "alamat " + alamat + "nim" + nim); }
} //end of class pelajar
public class DemoSerialisasi{
public static void main(String [] args) {
pelajar a = new pelajar();
a.nama = "toro tero"; a.alamat = "jogja city"; a.nim = 07030024;
FileOutputStream fileOut = new FileOutputStream("pelajar.ser"); ObjectOutputStream out = new ObjectOutputStream(fileOut);
out.writeObject(e); //method utama yang dijalankan untuk serialisasi objek
out.close();
fileOut.close();
}//end of main
} //end of class demoserialisasi
public class demo de-serialisasi
{
public static void main(String [] args)
{pelajar a = null;
FileInputStream fileIn = new FileInputStream("pelajar.ser"); ObjectInputStream in = new ObjectInputStream(fileIn);
a = (Employee) in.readObject(); //method utama yang dijalankan untuk de-serialisasi objek
in.close(); fileIn.close();
System.out.println("Deserialized Employee..."); System.out.println("Name: " + a.nama); System.out.println("Address: " + a.alamat); System.out.println("SSN: " + a.nim);
} //end of main
}//end of de-serialization
- jika menggunakan
FileOutputStream
, maka data nantinya akan kita tulis ke sebuah file - jika menggunakan ByteArrayOutputStream (serialization )maka data ditulis kedalam array (type data byte) didalam memori. nantinya aliran data tersebut dapat digunakan untuk diduplikasi. misal kita mengirim gambar, lalu kita tampilkan langsung di frame. (klo yang fileoutputstream kita harus menulis ke sebuah file dulu, baru file tersebut dibaca. klo ini ga perlu. kita menyimpan state dalam bentuk byte jadi bisa dipake untuk input program/class lain)
"memahami konsep serialisasi dan deserialisasi object cukup
penting apabila kita ingin membuat sebuah aplikasi client server dengan
menggunakan socket. "
No comments:
Post a Comment