JAVA, GARBAGE COLLECTION, & DEBUGGING EĞİTİMİ

Bellek sorunlarını ve hataları ustaca çözün

GC algoritmaları, GC günlükleri, heap dump analizi, bellek sızıntısı, jstack ve jcmd, uzaktan debug, JFR, Eclipse MAT ve profil çıkarma

Java GC ve debugging: kuşaklı GC, G1/ZGC, -Xlog:gc analizi, heap dump ve Eclipse MAT, bellek sızıntı kalıpları, OutOfMemoryError türleri, jstack/jcmd, uzaktan debug ve Java Flight Recorder.

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

Eğitim Hakkında

Java üretim sorunlarını ölçüm ve analizle teşhis etme

Eğitim, Java uygulamalarında bellek ve hata ayıklama sorunlarını teşhis etmeyi uygulamalı öğretir. Nesne yaşam döngüsü ve erişilebilirlik, kuşak bazlı GC, G1 ve ZGC, -Xlog:gc analizi, heap dump alma ve Eclipse MAT ile dominator tree, bellek sızıntısı kalıpları (static koleksiyon, listener, ThreadLocal), OutOfMemoryError türleri, jstack ile deadlock, jcmd, IDE ve uzaktan debug ile Java Flight Recorder kullanılır.

Süre ve Format

2 Gün. Her gün dört modül; 1. gün Çöp Toplama; 2. gün Teşhis ve Hata Ayıklama.

Seviye

İleri Seviye — Çöp toplama, bellek sızıntısı analizi ve Java hata ayıklama

Öğrenme Metodu

Katılımcılar bilerek sızıntı ve deadlock içeren örnek uygulamaları çalıştırır, dump alır ve araçlarla kök nedeni kendileri bulur.

Neden Bu Eğitim?

🧹GC Anlayışı

GC günlüğünü okuyup duraklama ve verim sorunlarını yorumlarsınız.

🕵️Kök Neden Analizi

Heap dump ve thread dump ile sızıntı ve kilitlenmeyi kanıtlarsınız.

🐞Etkin Debug

Koşullu breakpoint ve uzaktan debug ile hızlı hata ayıklarsınız.

Anahtar Konular

Java garbage collectionJava memory leakheap dump analiziEclipse MATjstack deadlockG1 GC ZGCJava Flight RecorderJava debuggingOutOfMemoryErrorJava performans analizi
“Tahmin etmeyin; dump alın, ölçün, kanıtlayın.”

Ön Koşullar

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

1
Java İleri Temeller

Thread, koleksiyon ve sınıf yükleme kavramları bilinmelidir.

2
JDK 17 ve IDE

JDK 17, IDE ve jcmd/jstack araçları kullanılabilir olmalıdır.

3
Komut Satırı

Linux veya Windows terminal komutları bilinmelidir.

4
Bellek Kavramları

Stack ve heap ayrımına aşinalık gerekir.

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ı GC davranışını günlüklerden yorumlar ve temel ayarları yapar.
Modül 1
Erişilebilirlik ve Kuşaklar
  • GC kökleri ve erişilebilirlik
  • Mark-sweep-compact
  • Young / old nesil ve promosyon
  • Referans türleri Soft, Weak, Phantom
  • finalize yerine Cleaner
  • Alokasyon hızı ve nesil boyutu
Modül 2
Çöp Toplayıcılar
  • Serial ve Parallel
  • G1: bölge ve mixed collection
  • ZGC ve Shenandoah düşük gecikme
  • XX:MaxGCPauseMillis
  • Xms / -Xmx ve metaspace
  • Konteyner bellek farkındalığı
Modül 3
GC Günlüğü Analizi
  • Xlog:gc* biçimi
  • Duraklama, verim, throughput
  • Full GC nedenleri
  • GCViewer / GCeasy ile görselleştirme
  • Allocation failure ve humongous
  • Ayar öncesi ve sonrası karşılaştırma
Modül 4
Bellek Hataları
  • OOM: Java heap space
  • OOM: Metaspace
  • OOM: unable to create thread
  • GC overhead limit exceeded
  • XX:+HeapDumpOnOutOfMemoryError
  • Direct buffer ve native bellek
Günün hedefiKatılımcı heap ve thread dump ile sorunları teşhis eder, JFR ve debugger'ı etkin kullanır.
Modül 1
Heap Dump Analizi
  • jcmd GC.heap_dump ve jmap
  • Eclipse MAT açma
  • Dominator tree ve retained size
  • Leak suspects raporu
  • OQL ile sorgulama
  • İki dump karşılaştırma
Modül 2
Sızıntı Kalıpları
  • static koleksiyonda birikim
  • Kapatılmayan dinleyici (listener)
  • ThreadLocal sızıntısı
  • ClassLoader sızıntısı
  • Önbellek sınırsız büyüme
  • Çözüm: WeakReference ve sınır koyma
Modül 3
Thread ve Deadlock
  • jstack ve jcmd Thread.print
  • Thread durumları BLOCKED / WAITING
  • Deadlock tespiti ve kilit grafı
  • Yüksek CPU thread bulma top -H
  • Thread havuzu tıkanması
  • Async-profiler ve flame graph
Modül 4
Debug ve JFR
  • IDE breakpoint, koşullu ve logpoint
  • Uzaktan debug -agentlib:jdwp
  • Debug güvenliği ve konteyner
  • JFR kaydı ve JMC
  • Üretimde düşük yüklü teşhis
  • Mini proje: sızıntı ve kilitlenme avı

Eğitim Kazanımları

Program sonunda katılımcılar:

🎯
GC Temeli

Kuşaklı GC ve erişilebilirlik kavramlarını açıklayabilirsiniz.

🧩
GC Seçimi

G1 ve ZGC arasında iş yüküne göre seçim yapabilirsiniz.

🛠️
Günlük Analizi

GC günlüklerinden duraklama ve verim sorunlarını okuyabilirsiniz.

🔍
Heap Dump

Eclipse MAT ile dump analizi yapıp sızıntı kaynağını bulabilirsiniz.

⚙️
Sızıntı Kalıpları

static, listener ve ThreadLocal sızıntılarını tanıyıp düzeltebilirsiniz.

📦
Thread Analizi

jstack ile deadlock ve yüksek CPU nedenini bulabilirsiniz.

🚀
Uzaktan Debug

Uzaktan debug ile konteynerdeki uygulamayı inceleyebilirsiniz.

✅
JFR Kullanımı

JFR ile düşük yükle üretim profilleme yapabilirsiniz.

Kimler İçin Uygundur?

  • Üretimde performans ve bellek sorunlarıyla karşılaşan Java geliştiricileri
  • SRE
  • DevOps mühendisleri içindir

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Üretimde performans ve bellek sorunlarıyla karşılaşan Java geliştiricileri, SRE ve DevOps mühendisleri içindir.
Üretim sistemine dump almak güvenli mi?
Etkisi ve riskleri anlatılır; düşük etkili yöntemler ve süreç güvenliği önerilir.
Konteyner ortamı kapsanıyor mu?
Evet; konteyner bellek limitleri ve JVM farkındalığı işlenir.
Hangi araçlar ücretsiz?
Eclipse MAT, JFR, JMC, jcmd ve async-profiler ücretsiz araçlardır.
GC ayarı her zaman gerekli mi?
Hayır; varsayılanla başlayıp ölçüme göre ayar yapılır.

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. Java, Garbage Collection, & Debugging Eğitimi Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

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

Bu Eğitimle Birlikte Tercih Edilenler

Java ve JVMDeveloping Modern Enterprise Java Applications Using Spring Training Eğitimi
Yazılım Geliştirme Eğitimleri

Developing Modern Enterprise Java Applications Using Spring Training Eğitimi

3 günİleriOnline / Yüz Yüze / Hibrit

Spring ile modern kurumsal Java eğitimi: Spring Boot, REST, Spring Data JPA, Spring Security JWT, Testcontainers, Actuator ve Docker ile üretime hazır uygulama.

Detayları Gör →
Java ve JVMDeveloping Object-Oriented Programs in Java Eğitimi
Yazılım Geliştirme Eğitimleri

Developing Object-Oriented Programs in Java Eğitimi

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

Java nesne yönelimli programlama eğitimi: sınıf, kapsülleme, kalıtım, interface, polimorfizm, composition, SOLID ilkeleri ve UML ile uygulamalı OOP.

Detayları Gör →
Java ve JVMDynamo Servlet Beans & Server-side Java Eğitimi
Yazılım Geliştirme Eğitimleri

Dynamo Servlet Beans & Server-side Java Eğitimi

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

Dynamo Servlet Bean eğitimi: ATG Nucleus bileşenleri, özel droplet yazımı, DSP etiketleri, form handler ve Repository API ile sunucu tarafı Java geliştirme.

Detayları Gör →
Java ve JVMEffective Agile Java Development Eğitimi
Yazılım Geliştirme Eğitimleri

Effective Agile Java Development Eğitimi

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

Çevik Java geliştirme eğitimi: TDD, JUnit 5, Mockito, Cucumber BDD, refaktör, temiz kod, Git trunk-based, CI hattı ve SonarQube ile kod kalitesi.

Detayları Gör →
Java ve JVMEffective Java Programming Using Design Patterns Eğitimi
Yazılım Geliştirme Eğitimleri

Effective Java Programming Using Design Patterns Eğitimi

3 günİleriOnline / Yüz Yüze / Hibrit

Java tasarım desenleri eğitimi: GoF creational, structural ve behavioral desenler, Effective Java deyimleri, lambda ile Strategy ve Command, Proxy ve Spring örn

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