SERIALIZATION IN JAVA: GETTING STARTED WITH OBJECT SERIALIZATION EĞİTİMİ

Java nesne serileştirmeyi güvenle kullanın

Serializable, serialVersionUID, transient, writeObject/readObject, readResolve, ObjectInputFilter ve Protobuf/Kryo alternatifleri.

Java Object Serialization'ı öğrenin: Serializable, serialVersionUID, transient, writeObject/readObject, readResolve, ObjectInputFilter ile güvenli okuma ve Protobuf/Kryo alternatifleri.

2 gün Temel Seviye Online / Yüz Yüze / Hibrit Sertifikalı

Eğitim Hakkında

Java Object Serialization temelleri ve güvenli kullanım

Eğitim, Java yerleşik nesne serileştirmesini temelden ve güvenlik farkındalığıyla öğretir. Serializable, ObjectOutputStream/ObjectInputStream, serialVersionUID ve sürüm uyumsuzluğu, transient ve static alanlar, kalıtımda serileştirme işlenir. writeObject/readObject, readResolve, serileştirme proxy ve Externalizable ile özel kontrol uygulanır. Deserialization zafiyetleri, ObjectInputFilter ile izin listesi, Kryo-Protobuf-Avro alternatifleri ve gidiş-dönüş testleri ele alınır.

Süre ve Format

2 Gün. Her gün dört modül; Serileştirme Temelleri; Güvenlik ve Uygulama ekseninde ilerleyen uygulamalı program.

Seviye

Temel Seviye — Java'da nesne serileştirme: Serializable, serialVersionUID, transient, özel serileştirme, güvenlik ve alternatifler.

Öğrenme Metodu

Küçük sınıflar serileştirilip bayt düzeyinde incelenir; sürüm değişimi ve saldırı senaryoları kasıtlı üretilir.

Neden Bu Eğitim?

💾Doğru Serileştirme

serialVersionUID ve transient ile sürüm uyumlu sınıflar yazarsınız.

🔐Güvenlik

Deserialization risklerini tanır ve ObjectInputFilter ile korunursunuz.

🔁Alternatif Bilgisi

Protobuf ve Kryo ile Java serileştirmeyi karşılaştırırsınız.

Anahtar Konular

java serializationjava serializableserialversionuidjava deserialization güvenliğiobjectinputfilterjava nesne serileştirmejava transientjava externalizablejava protobufjava kryo
“Serileştirme, nesnenin ömrünü uzatır; ama güveni de uzatır.”

Ön Koşullar

Eğitimden verim almak için faydalı olacak bilgi ve ortam gereksinimleri

1
Temel Java

Sınıf, kalıtım ve I/O akışı bilgisi gerekir.

2
JDK 17+

JDK 17+ ve IDE kurulu olmalıdır.

3
JUnit

Basit birim testi yazabilmek faydalıdır.

4
Güvenlik İlgisi

Güvenlik temel kavramlarına ilgi önerilir.

Eğitim İçeriği

Programın gün gün akışı aşağıdadır. Bir güne tıklayarak o günün modüllerini ve içeriklerini görebilirsiniz.

Günün hedefiKatılımcı sınıfları doğru serileştirir ve gidiş-dönüş testiyle doğrular.
Modül 1
Java Nesne Serileştirme Temelleri
  • Serializable arayüzü ve ObjectOutputStream/ObjectInputStream
  • serialVersionUID ve sürüm uyumsuzluğu (InvalidClassException)
  • transient ve static alanların davranışı
  • Kalıtımda serileştirme: üst sınıf Serializable değilse
  • İç içe nesne grafiği ve döngüsel referanslar
  • Dosya ve bayt dizisine serileştirme örnekleri
Modül 2
Özel Serileştirme
  • writeObject ve readObject ile özel mantık
  • readResolve ile singleton koruması
  • writeReplace ve serileştirme proxy deseni
  • Externalizable ile tam kontrol
  • Alan doğrulama ve değişmez sınıf serileştirmesi
  • Serileştirme sırasında kopya (defensive) ihtiyacı
Modül 3
Serileştirme Testleri
  • Gidiş-dönüş (round-trip) testi yazımı
  • Sürümler arası uyumluluk testi (eski bayt dizisi okuma)
  • Transient alan beklentileri testi
  • Hata durumları: bozuk veri ve EOF
  • Testlerde geçici dosya yönetimi
  • Kod incelemede serileştirme kontrol listesi
Modül 4
Serileştirme Performansı ve Alternatifler
  • Java serileştirmenin maliyeti ve boyutu
  • Kryo, Protobuf ve Avro karşılaştırması
  • Önbellek ve oturum replikasyonunda serileştirme
  • Sürüm evrimi: alan ekleme/çıkarma stratejileri
  • Büyük nesne grafiğinde bellek etkisi
  • JMH ile serileştirme benchmark
Günün hedefiKatılımcı güvenli deserialization uygular ve oturum verisi laboratuvarını tamamlar.
Modül 1
Serileştirme Güvenliği
  • Deserialization zafiyetleri ve gadget zincirleri
  • ObjectInputFilter (JEP 290) ile izin listesi
  • Güvenilmeyen kaynaktan nesne okumama ilkesi
  • Ysoserial benzeri saldırı mantığı (kavramsal)
  • Serileştirmeye alternatif: JSON, Protobuf
  • Eski kodda serileştirme kullanımının denetimi
Modül 2
Lab: Oturum Verisini Saklama
  • Kullanıcı oturum nesnesinin dosyaya yazılması
  • Sürüm değişikliğiyle uyumluluğun denenmesi
  • Özel writeObject ile hassas alanın şifrelenmesi
  • ObjectInputFilter ile güvenli okuma
  • JSON alternatifine geçiş karşılaştırması
  • Sonuçların rapor halinde sunumu
Modül 3
Alternatif Biçimlere Geçiş
  • Java nesnesinden Protobuf şemasına dönüşüm
  • Avro şeması ve şema evrimi
  • Jackson ile nesnenin JSON'a dönüştürülmesi
  • Sürüm uyumluluğu karşılaştırması
  • Geçiş stratejisi: çift yazma ve okuma
  • Önbellek/oturum için seçim kriterleri
Modül 4
Güvenlik Testleri
  • Kötü niyetli bayt dizisi ile filtre testi
  • İzin listesinde olmayan sınıfın reddi
  • Derinlik ve referans sınırı (maxdepth, maxrefs)
  • Bağımlılıklarda zafiyetli sınıf taraması
  • Log ve alarmlar
  • Güvenli kodlama kontrol listesi

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Serializable

Sınıfları Serializable yapıp akışlara yazabilirsiniz.

🧩
serialVersionUID

Sürüm uyumsuzluğunu yönetebilirsiniz.

⚙
transient Kullanımı

Hassas veya türetilmiş alanları serileştirme dışında tutabilirsiniz.

️
Özel Serileştirme

writeObject/readObject ile mantık ekleyebilirsiniz.

🔍
Singleton Koruması

readResolve ile singleton bütünlüğünü sağlayabilirsiniz.

🛠
Güvenli Okuma

ObjectInputFilter ile izin listesi tanımlayabilirsiniz.

️
Alternatifler

Protobuf, Avro ve Kryo arasında seçim yapabilirsiniz.

🧪
Test

Gidiş-dönüş ve uyumluluk testleri yazabilirsiniz.

Kimler İçin Uygundur?

  • Java ile nesneleri dosyaya veya ağa yazan
  • eski kodları bakımlayan geliştiriciler
  • güvenlik farkındalığı isteyenler için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Java ile nesneleri dosyaya veya ağa yazan, eski kodları bakımlayan geliştiriciler ve güvenlik farkındalığı isteyenler için uygundur.
Java serileştirme hâlâ önerilir mi?
Yeni sistemlerde genellikle JSON veya Protobuf tercih edilir; eski kodu anlamak ve güvenli kullanmak için eğitimde işlenir.
Deserialization neden tehlikelidir?
Güvenilmeyen veriden nesne oluşturmak gadget zincirleriyle kod çalıştırmaya yol açabilir; filtreyle korunma gösterilir.
serialVersionUID yazmazsam ne olur?
Derleyici otomatik üretir ve sınıf değişince uyumsuzluk oluşur.
Eğitim sonunda sertifika verilir mi?
Katılım ve değerlendirme sonrasında Digital Vizyon Akademi Katılım ve Başarı Sertifikası verilir.

Sertifikalandırma

Bu eğitim Digital Vizyon Akademi Başarı Sertifikası ile tamamlanır.

Eğitim başında “Ön Test”, bitiminde “Son Test” uygulanarak gelişim ölçümlenir. Değerlendirme formunu dolduran katılımcılar sertifikalarını alır. Sertifikanızın geçerliliğini Sertifika Sorgulama sayfasından doğrulayabilirsiniz.

Örnek Sertifika d Digital Vizyon AKADEMİ KATILIM SERTİFİKASI Bu sertifika [Katılımcı Adı Soyadı] adlı katılımcının aşağıdaki eğitim programını başarıyla tamamladığını belgeler. Serialization in Java: Getting Started with Object Serializa Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre2 gün
SeviyeTemel Seviye
FormatOnline / Yüz Yüze / Hibrit
Sertifika✓ Var
Hemen Bilgi Al
İlgili Eğitimler

Bu Eğitimle Birlikte Tercih Edilenler

Java ve JVMInteractive Java & JShell: Writing Java Programs with the Interactive JShell Eğitimi
Yazılım Geliştirme Eğitimleri

Interactive Java & JShell: Writing Java Programs with the Interactive JShell Eğitimi

2 günBaşlangıçOnline / Yüz Yüze / Hibrit

JShell eğitimi: Java REPL kullanımı, snippet, /vars /methods /list /save /open komutları, script, classpath ile kütüphane deneme ve JShell ile hızlı Java öğrenm

Detayları Gör →
Java ve JVMIntroduction to Amazon Kinesis Data Analytics for Java Applications Eğitimi
Yazılım Geliştirme Eğitimleri

Introduction to Amazon Kinesis Data Analytics for Java Applications Eğitimi

3 günOrtaOnline / Yüz Yüze / Hibrit

Amazon Kinesis Data Analytics for Java eğitimi: Apache Flink DataStream API, Kinesis Data Streams, pencereleme, state, checkpoint ve AWS Managed Flink dağıtımı.

Detayları Gör →
Java ve JVMIntroduction to Hibernate Eğitimi
Yazılım Geliştirme Eğitimleri

Introduction to Hibernate Eğitimi

2 günTemelOnline / Yüz Yüze / Hibrit

Hibernate giriş eğitimi: ORM kavramı, SessionFactory, entity eşleme, Session CRUD, HQL, Criteria, OneToMany ve ManyToMany ilişkiler ve lazy loading.

Detayları Gör →
Java ve JVMIntroduction to Red Hat JBoss Enterprise Application Platform (AD258) Eğitimi
Yazılım Geliştirme Eğitimleri

Introduction to Red Hat JBoss Enterprise Application Platform (AD258) Eğitimi

3 günOrtaOnline / Yüz Yüze / Hibrit

JBoss EAP yönetim eğitimi: kurulum, standalone ve domain mod, jboss-cli, datasource, WAR dağıtımı, Elytron güvenliği, Artemis JMS, kümeleme ve JVM ayarları.

Detayları Gör →
Java ve JVMIntroduction to Red Hat JBoss Enterprise Application Platform (AD258LS) Eğitimi
Yazılım Geliştirme Eğitimleri

Introduction to Red Hat JBoss Enterprise Application Platform (AD258LS) Eğitimi

3 günOrtaOnline / Yüz Yüze / Hibrit

JBoss EAP uygulamalı giriş eğitimi: lab odaklı kurulum, yönetim konsolu, jboss-cli, WAR dağıtımı, datasource, Elytron, standalone-ha kümeleme ve sorun giderme.

Detayları Gör →
+90 (501) 369 40 14 WhatsApp [email protected] LinkedIn