MULTITHREADING AND CONCURRENCY IN JAVA: SCALING A MULTITHREADED APPLICATION EĞİTİMİ

Çok thread'li uygulamanızı ölçekleyin

Havuz boyutlandırma, Fork/Join, virtual thread, kilit çekişmesi, JFR ve async-profiler, yapılandırılmış eşzamanlılık ve backpressure.

Java uygulamalarını ölçekleyin: havuz boyutlandırma, Fork/Join, Java 21 virtual thread, kilit çekişmesi, JFR ve async-profiler ile profilleme, backpressure ve yük testi.

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

Eğitim Hakkında

Ölçekleme: havuz, çekişme, sanal thread ve profilleme

Eğitim, çalışan bir çok thread'li Java uygulamasını ölçülü biçimde ölçeklemeyi öğretir. CPU-bound ve I/O-bound işler için havuz boyutlandırma, Little Kanunu, Fork/Join ve paralel stream sınırları, Java 21 sanal thread'leri ve pinning sorunu işlenir. Kilit çekişmesi, striping, false sharing, StampedLock ve JFR ile ölçüm uygulanır. Yapılandırılmış eşzamanlılık, backpressure, retry ve circuit breaker ile dayanıklılık eklenir; yük testiyle sınırlar bulunur.

Süre ve Format

2 Gün. Her gün dört modül; Havuz ve Paralellik; Çekişme, Profilleme ve Dayanıklılık ekseninde ilerleyen uygulamalı program.

Seviye

İleri Seviye — Çok thread'li Java uygulamalarını ölçekleme: havuz boyutlandırma, Fork/Join, sanal thread'ler, kilit çekişmesi ve profilleme.

Öğrenme Metodu

Eğitim boyunca tek bir servis ölçülür, darboğazlar profilleyiciyle bulunur ve her iyileştirme önce-sonra ölçümüyle doğrulanır.

Neden Bu Eğitim?

📈Ölçülü Ölçekleme

Tahmin yerine JFR ve profil verisiyle darboğaz bulursunuz.

🧵Sanal Thread Bilgisi

Java 21 virtual thread'lerinin kazandırdığı ve kazandırmadığı yerleri bilirsiniz.

🛡️Yük Altı Dayanıklılık

Backpressure ve circuit breaker ile servisi çökmekten korursunuz.

Anahtar Konular

java ölçeklenebilirlikjava virtual threadsjava project loomjava forkjoinpooljava thread pool sizingjava JFRjava kilit çekişmesijava async-profilerjava performansjava concurrency ileri
“Ölçeklemek, daha çok thread eklemek değil; darboğazı doğru bulmaktır.”

Ön Koşullar

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

1
Concurrency Temeli

Executor, synchronized ve concurrent koleksiyon bilgisi gerekir.

2
JDK 21

Sanal thread örnekleri için JDK 21 kurulu olmalıdır.

3
Profilleme Araçları

JFR ve async-profiler çalıştırabilen bir Linux/macOS ortamı önerilir.

4
Çok Çekirdekli Makine

En az dört çekirdekli makine 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ı iş yüküne uygun havuz ve paralellik modelini seçip ölçerek doğrular.
Modül 1
Havuz Boyutlandırma
  • CPU-bound işte çekirdek sayısı + 1 kuralı
  • I/O-bound işte bekleme/hesaplama oranı ile boyut
  • Little Kanunu ile kuyruk ve gecikme ilişkisi
  • Sınırsız kuyruk ve bellek taşması riski
  • Ayrı havuzlarla bulkhead yaklaşımı
  • Thread sayısını ölçümle ayarlama
Modül 2
Fork/Join ve Paralel Stream
  • ForkJoinPool ve work-stealing algoritması
  • RecursiveTask ile böl-fethet uygulaması
  • Eşik (threshold) seçiminin hıza etkisi
  • parallelStream ne zaman fayda sağlar
  • Ortak havuzu bloklayan işlerle tıkama
  • Paralel ile sıralı sürümün JMH ile kıyası
Modül 3
Sanal Thread'ler (Project Loom)
  • Platform ve virtual thread farkı
  • Executors.newVirtualThreadPerTaskExecutor()
  • Bloklayan I/O ile milyonlarca görev
  • Pinning: synchronized içinde bloklama sorunu
  • ThreadLocal ve ScopedValue yaklaşımı
  • Sanal thread ne zaman fayda sağlamaz
Modül 4
Yapılandırılmış Eşzamanlılık
  • StructuredTaskScope ile görev ömrü yönetimi
  • ShutdownOnFailure ve ShutdownOnSuccess politikaları
  • İptal yayılımı ve interrupt
  • Alt görev hatalarının üst göreve taşınması
  • Zaman aşımı ve deadline yaklaşımı
  • Eski ExecutorService koduna karşı kıyas
Günün hedefiKatılımcı darboğazları profilleyip giderir ve servisi yük altında dayanıklı hale getirir.
Modül 1
Kilit Çekişmesi ve Performans
  • Amdahl ve Evrensel Ölçeklenebilirlik Yasası
  • Kilit parçalama (striping) ve ConcurrentHashMap tasarımı
  • False sharing ve @Contended
  • Okuma ağırlıklı yapılarda ReadWriteLock ve StampedLock
  • Kilitsiz algoritmalara giriş
  • Kilit çekişmesini JFR ile ölçme
Modül 2
Profilleme ve İzleme
  • Java Flight Recorder ile thread ve kilit olayları
  • async-profiler ile CPU ve wall-clock profili
  • Thread dump karşılaştırma
  • GC etkisi ve allocation oranı
  • Micrometer ile executor metrikleri
  • Sorunu bulup ölçülü iyileştirme döngüsü
Modül 3
Backpressure ve Dayanıklılık
  • Sınırlı kuyruk ve CallerRunsPolicy ile yavaşlatma
  • Semaphore ile eşzamanlılık sınırı
  • Zaman aşımı, retry ve circuit breaker (Resilience4j)
  • Yük altında zarif düşüş (graceful degradation)
  • Reactive Streams ve Flow API'ye giriş
  • Yük testi (Gatling/JMeter) ile sınır bulma
Modül 4
Lab: Ölçeklenebilir Servis
  • Basit HTTP servisinin tek thread'li sürümü
  • Havuzlu sürüme geçiş ve ölçüm
  • Virtual thread sürümü ve karşılaştırma
  • Kilit çekişmesi darboğazının bulunup giderilmesi
  • Yük altında p99 gecikme analizi
  • Sonuçların rapor halinde sunumu

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Havuz Boyutu

İş yüküne göre thread havuzu boyutunu hesaplayıp doğrulayabilirsiniz.

🧩
Fork/Join

Böl-fethet görevlerini eşik değeriyle ayarlayabilirsiniz.

⚙
Sanal Thread

Virtual thread'leri doğru senaryoda kullanıp pinning'i tespit edebilirsiniz.

️
Yapılandırılmış Eşzamanlılık

StructuredTaskScope ile görev ömrünü yönetebilirsiniz.

🔍
Kilit Çekişmesi

Striping ve StampedLock ile çekişmeyi azaltabilirsiniz.

🛠
Profilleme

JFR ve async-profiler çıktısını yorumlayabilirsiniz.

️
Backpressure

Sınırlı kuyruk ve semaphore ile aşırı yükü yönetebilirsiniz.

🧪
Yük Testi

Gecikme ve verim sınırlarını yük testiyle bulabilirsiniz.

Kimler İçin Uygundur?

  • Eşzamanlılık temelini bilen
  • performans
  • ölçeklenebilirlik sorunlarıyla uğraşan kıdemli Java geliştiricileri ve mimarlar için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Eşzamanlılık temelini bilen, performans ve ölçeklenebilirlik sorunlarıyla uğraşan kıdemli Java geliştiricileri ve mimarlar için uygundur.
Sanal thread her sorunu çözer mi?
Hayır; I/O ağırlıklı işte büyük fayda sağlar, CPU-bound işte fark yaratmaz ve synchronized içinde pinning olabilir. Eğitimde ölçülür.
Hangi profilleme araçları kullanılır?
Java Flight Recorder, async-profiler ve VisualVM kullanılır.
Eğitim için hangi Java sürümü gerekir?
Sanal thread ve StructuredTaskScope örnekleri için JDK 21 gerekir.
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. Multithreading and Concurrency in Java: Scaling a Multithrea 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 JVMJava Certified Foundations Associate: Design Patterns Eğitimi
Yazılım Geliştirme Eğitimleri

Java Certified Foundations Associate: Design Patterns Eğitimi

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

Java Foundations: Tasarım Kalıpları eğitimi: Kalıp kavramı, Singleton, Factory, Builder, Strategy, Observer, DAO ve MVC'ye giriş, UML sınıf diyagramı okuma.

Detayları Gör →
Java ve JVMJava Certified Foundations Associate: Development Basics Eğitimi
Yazılım Geliştirme Eğitimleri

Java Certified Foundations Associate: Development Basics Eğitimi

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

Java Foundations: Geliştirme Temelleri eğitimi: SDLC, algoritma ve akış şeması, sözde kod, hata türleri, Git temelleri, birim test fikri ve dokümantasyon.

Detayları Gör →
Java ve JVMJava Certified Foundations Associate: Development Environment Eğitimi
Yazılım Geliştirme Eğitimleri

Java Certified Foundations Associate: Development Environment Eğitimi

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

Java Foundations: Geliştirme Ortamı eğitimi: JDK dağıtımları, JAVA_HOME ve PATH, javac ve java komutları, IntelliJ IDEA ve Eclipse, proje yapısı, Maven, debugge

Detayları Gör →
Java ve JVMJava Certified Foundations Associate: Java Arrays & ArrayLists Eğitimi
Yazılım Geliştirme Eğitimleri

Java Certified Foundations Associate: Java Arrays & ArrayLists Eğitimi

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

Java Foundations: Diziler ve ArrayList eğitimi: Dizi bildirimi, indeks, çok boyutlu dizi, Arrays yardımcıları, ArrayList metotları, generics, wrapper ve dizi-li

Detayları Gör →
Java ve JVMJava Certified Foundations Associate: Java Concepts & Features Eğitimi
Yazılım Geliştirme Eğitimleri

Java Certified Foundations Associate: Java Concepts & Features Eğitimi

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

Java Foundations: Java Kavramları ve Özellikleri eğitimi: Write once run anywhere, bayt kod, JVM, JRE, JDK, çöp toplama, güvenlik modeli, çok iş parçacıklılık,

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