• Toplam: 0 Oy - Ortalama: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Java Serialization (Serileştirme) Nedir?

 
#1

javb.png?resize=300%2C240
Bu yazıda Java Serialization, yani serileştirme konusundan bahsedeceğim.
Java bilindiği üzere nesneye dayalı bir dil. Neredeyse her şey nesne. Nesneleri kullanırken bir defa değil istenilen zamanda ve yerde tekrar, tekrar ve tekrar kullanabilmemiz gerekebiliyor. Bu noktada ise bizim “serileştirme” dediğimiz yapı devreye giriyor.
Yukarıdaki cümlede kalın olarak belirttiğim “istenilen yerde” cümlesine dikkatinizi çekmek istiyorum. Değişkenlere ait değerleri bir dosyaya kaydetdiğinizi düşünün. Tekrar kullanmak istediğinizde bu değerlerin ne ve hangi tipte olduğunu bilemeyiz. Nesnelerimizin içinde bulunan değerler ve ve veri tipleri ile birlikte saklayabiliyoruz. Bu güzel yöntem “Java Serileştirme” sayesinde olmaktadır.
Nesnelerin içerisindeki değişkenlerin adları, tipleri değeleri byte’lara çevrilerek kaydedilir ve bu dosyayı nereye götürürsek götürelim JVM bu değerleri bir kayıp olmadan okuyup kullanabiliriz. Serileştirme işlemi için Java’nın Serializable sınıfını kullanıyoruz.
Serileştirmeyi bir örnek yaparak pekiştirelim. Kişi bilgilerinin kaydedildiği bir sınıfımız olucak bu bilgileri bir dosyaya kaydedip tekrar okuyacağız ve kişi bilgilerinin değerlerinde ve tiplerinde bir farklılık olmadığını kaydederken nasılsa öyle kaldığını göreceğiz.



import java.io.Serializable;

public class Kisi implements Serializable {
      private String ad;
      private String soyad;
      //
      public Kisi(){ }
      public Kisi(String ad, String soyad){
            this.ad = ad;
            this.soyad = soyad;
      }
      public String getAd() {
            returnad;
      }
      publicvoid setAd(String ad) {
            this.ad = ad;
      }
      public String getSoyad() {
            returnsoyad;
      }
      publicvoid setSoyad(String soyad) {
            this.soyad = soyad;
      }
 
      public String toString(){
            return "Ad : " + this.ad + "\nSoyad : " + this.soyad;
      }
}

Şimdi ise kişi bilgilerini dosyaya kaydedelim.



    public static void Yaz(){
            try{
                  Kisi kisi = new Kisi("Burak", "Kutbay");
                  FileOutputStream dosya = new FileOutputStream("C:\\metin.txt");
                  ObjectOutputStream yaz = new ObjectOutputStream(dosya);
                  yaz.writeObject(kisi);
                  yaz.close();
            }
            catch(Exception e){
                  System.out.println(e.getMessages());
            }
}

metin.txt dosyasına bu bilgileri kaydettik. Şimdi bu dosyadan kaydettiğimiz verileri okuyacağız.



public static void Oku(){
            try{
                  FileInputStream dosya = new FileInputStream("C:\\metin.txt");
                  ObjectInputStream oku = new ObjectInputStream(dosya);
                  Kisi kisi = (Kisi)oku.readObject();
                   System.out.println(kisi.toString());
                  oku.close();
            }
            catch(Exception e){
                  System.out.println(e.hetMessages());
            }
}

Dosyadaki bilgileri okuduk. Sonuç ise;




Ad: Burak Soyad: Kutbay

şeklinde oldu.
Serileştirme işlemi sayesinde dosyadaki verilerin tipleri korunduğu için JVM bunu anlayarak başka bir işlem yapmadan gerekli olan değerleri değişkenlerine atadı ve sonucu bu Ad, Soyad şeklinde gösterdi.
Bol kodlu günler.
Paylaşmak Güzeldir:




Ara
Cevapla


[-]
Hızlı Cevap

İnsan Doğrulama:
Aşağıda görünen onay kutusunu işaretleyiniz. Bu işlem otomatik spam kayıtları önlemek için kullanılır.

Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Java JSP ile (User login) Kullanıcı Girişi efsane 1 10,327 22-04-2019, Saat: 09:03
Son Yorum: woodiskingser
  Java Persistence API efsane 0 1,724 14-11-2017, Saat: 01:35
Son Yorum: efsane
  java web socket dalaylama 0 2,078 07-08-2017, Saat: 22:28
Son Yorum: dalaylama
  java hakkında blueman 0 2,400 18-07-2017, Saat: 22:54
Son Yorum: blueman
  JDBC Nedir? Giriş dalaylama 0 2,268 12-06-2017, Saat: 00:18
Son Yorum: dalaylama

Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  


Konuyu Okuyanlar:
1 Ziyaretçi

   
Türkçe Çeviri: MCTR, Forum Yazılımı: MyBB, © 2002-2021 MyBB Group.  



Merih Forum® bilgi paylaşım platformu. 2015-2020 Tüm hakları saklıdır.