JAVA PERFORMANCE TUNING & OPTIMIZATION EĞİTİMİ

JVM'de performans sorunlarını ölçerek çözün

JVM bellek modeli, G1/ZGC, GC logları, JIT, JFR, async-profiler, JMH, thread dump ve heap dump analizi.

Eğitim JVM bellek modelini (heap, young/old, metaspace, stack), Serial, Parallel, G1, ZGC ve Shenandoah toplayıcılarını, GC log analizini (-Xlog:gc*), JIT derleme katmanlarını (C1/C2), escape analysis ve inlining'i, JFR ve async-profiler ile profillemeyi, JMH…

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

Eğitim Hakkında

Ölçüm odaklı Java performans mühendisliği

Eğitim JVM bellek modelini (heap, young/old, metaspace, stack), Serial, Parallel, G1, ZGC ve Shenandoah toplayıcılarını, GC log analizini (-Xlog:gc*), JIT derleme katmanlarını (C1/C2), escape analysis ve inlining'i, JFR ve async-profiler ile profillemeyi, JMH ile mikro benchmark yazımını, thread dump/heap dump analizini (MAT), bellek sızıntısı bulmayı, havuz ve cache ayarlarını ve kod seviyesinde koleksiyon, string, I/O ve eşzamanlılık optimizasyonlarını kapsar.

Süre ve Format

3 Gün. Her gün dört modül; JVM Bellek ve Garbage Collection; Profiling ve Kod Optimizasyonu; Uygulama Katmanı Optimizasyonu ekseninde ilerleyen uygulamalı program.

Seviye

İleri Seviye — JVM performans ayarı: GC seçimi, heap/metaspace, JIT, profiling (JFR, async-profiler), JMH ve kod seviyesi optimizasyon

Öğrenme Metodu

Kasıtlı olarak yavaş ve sızıntılı hazırlanmış bir Spring Boot uygulaması üzerinde ölçüm, teşhis ve düzeltme döngüsü uygulanır.

Neden Bu Eğitim?

📊Ölçerek karar verin

Tahmin yerine profiler ve benchmark verisiyle optimizasyon yaparsınız.

🧹GC hakimiyeti

Toplayıcı seçimi ve ayarıyla duraklamaları kontrol altına alırsınız.

🔎Sızıntı avı

Heap dump analiziyle bellek sızıntılarının kökünü bulursunuz.

Anahtar Konular

java performance tuningjvm tuninggarbage collectionG1 GC ZGCjava flight recorderasync-profilerJMH benchmarkheap dump analizijava bellek sızıntısı
“Ölçmediğiniz şeyi optimize edemezsiniz; ölçtüğünüzü ise genellikle az bir çabayla düzeltirsiniz.”

Ön Koşullar

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

1
Java

İleri Java, eşzamanlılık ve koleksiyon bilgisi.

2
JVM

JVM mimarisi hakkında temel bilgi.

3
Linux

Komut satırı ve süreç izleme temeli.

4
Ortam

JDK 21, VisualVM/JMC, Maven ve Docker.

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 hedefiBellek ve GC
Modül 1
JVM Bellek Modeli
  • Heap: young, survivor, old kuşakları
  • Metaspace ve sınıf yükleme
  • Thread stack ve çağrı çerçeveleri
  • Direct (off-heap) bellek
  • Nesne yerleşimi, header ve compressed oops
  • Container içinde bellek ve -XX:MaxRAMPercentage
Modül 2
GC Algoritmaları
  • Serial, Parallel, G1 çalışma mantığı
  • ZGC ve Shenandoah düşük gecikme
  • Stop-the-world, mark, evacuation fazları
  • Throughput ve latency dengesi
  • Hangi uygulamaya hangi GC
  • JDK sürümüne göre varsayılanlar
Modül 3
GC Ayarı ve Log
  • Xlog:gc* ve unified logging
  • GCViewer ve GCeasy ile log okuma
  • G1: MaxGCPauseMillis, region boyutu
  • Heap boyutlandırma (Xms=Xmx)
  • Allocation rate ve promotion failure
  • Full GC nedenlerinin teşhisi
Modül 4
Bellek Sızıntıları
  • Sızıntı nedenleri: static, ThreadLocal, listener
  • Heap dump alma (jcmd, HeapDumpOnOutOfMemoryError)
  • Eclipse MAT dominator tree ve leak suspects
  • Weak/Soft referanslar
  • Cache boyut sınırlandırma
  • OutOfMemoryError türleri
Günün hedefiProfil ve kod
Modül 1
JIT Derleme
  • Yorumlayıcı, C1 ve C2 katmanlı derleme
  • Warm-up, inlining ve escape analysis
  • XX:+PrintCompilation ve JITWatch
  • Deoptimization nedenleri
  • Ahead-of-time ve CDS ile açılış
  • GraalVM ve native image konumlandırması
Modül 2
Profiling Araçları
  • Java Flight Recorder kaydı ve JMC analizi
  • async-profiler ile CPU ve alloc flame graph
  • Lock contention profili
  • VisualVM ve jcmd
  • Üretimde düşük yükle profilleme
  • Flame graph okuma
Modül 3
JMH Mikro Benchmark
  • JMH kurulumu ve @Benchmark
  • Dead code elimination tuzağı ve Blackhole
  • State, fork ve warm-up ayarları
  • Mikro benchmark yanılgıları
  • Stream ve döngü karşılaştırması
  • Sonuçların yorumlanması
Modül 4
Thread ve Eşzamanlılık Analizi
  • Thread dump alma ve okuma
  • Deadlock ve thread starvation tespiti
  • Thread pool boyutlandırma
  • Virtual thread ve blocking I/O
  • Lock striping, atomic ve LongAdder
  • Contention azaltma
Günün hedefiUygulama
Modül 1
Kod Seviyesi İyileştirme
  • Koleksiyon seçimi ve başlangıç kapasitesi
  • String birleştirme, StringBuilder, string deduplication
  • Autoboxing ve gereksiz nesne üretimi
  • Regex maliyeti ve önbelleğe alma
  • Seri hale getirme (serialization) maliyeti
  • Allocation azaltma teknikleri
Modül 2
I/O ve Ağ
  • Buffered I/O ve NIO
  • Bağlantı havuzu (HikariCP) ayarı
  • HTTP client keep-alive ve havuz
  • Asenkron/non-blocking yaklaşım
  • Sıkıştırma ve payload küçültme
  • Timeout ve backpressure
Modül 3
Veritabanı ve Cache
  • N+1 ve JDBC batch
  • Index ve execution plan etkisi
  • Second-level cache ve Caffeine
  • Cache hit oranı ve boyutlandırma
  • Connection leak tespiti
  • Okuma/yazma ayrımı
Modül 4
Yük Testi ve Süreç
  • Gatling/k6 ile yük testi
  • Performans bütçesi ve SLO
  • Regresyon izleme CI içinde
  • Mikro ve makro ölçüm bütünlüğü
  • Vaka çalışması: yavaş uygulamanın iyileştirilmesi
  • Performans iyileştirme raporu

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Bellek modeli

JVM bellek bölgelerini ve container etkisini açıklayabilirsiniz.

🎯
GC seçimi

G1, ZGC gibi toplayıcılardan uygun olanı seçebilirsiniz.

🧩
GC log analizi

GC loglarını okuyup duraklama nedenini bulabilirsiniz.

⚙️
Sızıntı teşhisi

Heap dump ile bellek sızıntısını izleyebilirsiniz.

🔍
JIT bilgisi

JIT davranışını ve warm-up etkisini yorumlayabilirsiniz.

🛠️
Profiling

JFR ve async-profiler ile CPU ve bellek darboğazlarını bulabilirsiniz.

📈
JMH

Doğru bir mikro benchmark yazabilirsiniz.

🚀
Uygulama ayarı

Havuz, cache ve I/O ayarlarını ölçerek iyileştirebilirsiniz.

Kimler İçin Uygundur?

  • Üretimde yavaşlık
  • yüksek GC duraklaması veya bellek sızıntısı ile uğraşan kıdemli Java geliştiricileri
  • SRE
  • performans mühendisleri için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Üretimde yavaşlık, yüksek GC duraklaması veya bellek sızıntısı ile uğraşan kıdemli Java geliştiricileri, SRE ve performans mühendisleri için uygundur.
Eğitime katılmak için hangi ön bilgiler gerekir?
Java: İleri Java, eşzamanlılık ve koleksiyon bilgisi. JVM: JVM mimarisi hakkında temel bilgi.
Eğitim nasıl ilerler ve kaç gün sürer?
Eğitim 3 gün sürer; her gün dört modülden oluşur ve her modülde anlatım ile uygulamalı çalışma birlikte yürür. Günler sırasıyla: JVM Bellek ve Garbage Collection; Profiling ve Kod Optimizasyonu; Uygulama Katmanı Optimizasyonu.
Eğitim sonunda sertifika verilir mi?
Evet, katılım ve başarı koşullarını sağlayan katılımcılara Digital Vizyon Akademi Katılım ve Başarı Sertifikası verilir.
Eğitimde hangi JDK sürümü kullanılır?
JDK 21 LTS kullanılır; G1, ZGC ve JFR özellikleri bu sürümde gösterilir, önceki sürümlerdeki farklılıklar ayrıca belirtilir.

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 Performance Tuning & Optimization Eğitimi Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre3 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 JVMJava SE : JDK Objects & Nested Loops Eğitimi
Yazılım Geliştirme Eğitimleri

Java SE : JDK Objects & Nested Loops Eğitimi

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

Java SE JDK araçları, nesne oluşturma, referanslar ve iç içe döngüler eğitimi. Uygulamalı lab ile 2 gün; DVA Katılım ve Başarı Sertifikası verilir.

Detayları Gör →
Java ve JVMJava SE : JShell Eğitimi
Yazılım Geliştirme Eğitimleri

Java SE : JShell Eğitimi

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

JShell eğitimi: Java REPL ile etkileşimli kod, snippet komutları, classpath, .jsh script ve JShell API. Uygulamalı 2 gün, DVA katılım sertifikası.

Detayları Gör →
Java ve JVMJava SE : Modular Design Eğitimi
Yazılım Geliştirme Eğitimleri

Java SE : Modular Design Eğitimi

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

Java SE modüler tasarım eğitimi: JPMS, module-info, ServiceLoader, jdeps, jlink ve klasik projeyi modüle geçirme. 2 gün uygulamalı, DVA katılım sertifikası.

Detayları Gör →
Java ve JVMJava SE : More Operations on Member Variables & Methods Eğitimi
Yazılım Geliştirme Eğitimleri

Java SE : More Operations on Member Variables & Methods Eğitimi

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

Java SE üye değişkenler ve metotlar eğitimi: static, final, kapsülleme, overloading, varargs ve başlatma sırası. Uygulamalı 2 gün, DVA katılım sertifikası.

Detayları Gör →
Java ve JVMJava SE : Objects & Classes Eğitimi
Yazılım Geliştirme Eğitimleri

Java SE : Objects & Classes Eğitimi

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

Java SE nesneler ve sınıflar eğitimi: sınıf, yapıcı, kapsülleme, UML ve kütüphane mini projesi. Başlangıç seviyesi, 2 gün uygulamalı, DVA katılım sertifikası.

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