Pages

Wednesday, July 18, 2012

java serialization

mungkin kita sering mendengar tentang java serialization.

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