MULTITHREADING AND CONCURRENCY IN JAVA: OBJECTS FOR CONCURRENT PROGRAMMING EĞİTİMİ

java.util.concurrent araç kutusunu tanıyın

ThreadPoolExecutor, CompletableFuture, ConcurrentHashMap, Atomic sınıflar, Latch/Barrier/Phaser, ScheduledExecutor ve test yöntemleri.

java.util.concurrent paketini öğrenin: Executor, CompletableFuture, ConcurrentHashMap, atomik sınıflar, CountDownLatch, Phaser, ScheduledExecutor ve Awaitility ile test.

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

Eğitim Hakkında

java.util.concurrent nesneleriyle eşzamanlı programlama

Eğitim, java.util.concurrent paketinin hazır nesnelerini kullanarak güvenli eşzamanlı kod yazmayı öğretir. ThreadPoolExecutor parametreleri ve reddetme politikaları, Callable-Future, CompletableFuture zincirleri ve hata yönetimi işlenir. ConcurrentHashMap, CopyOnWriteArrayList, atomik sınıflar ve CAS, LongAdder anlatılır. CountDownLatch, CyclicBarrier, Phaser ve Exchanger ile koordinasyon, ScheduledExecutorService, Fork/Join ve Awaitility ile test uygulanır.

Süre ve Format

2 Gün. Her gün dört modül; Görev Yürütme ve Asenkron Akış; Veri Yapıları ve Koordinasyon ekseninde ilerleyen uygulamalı program.

Seviye

Orta Seviye — java.util.concurrent paketi: Executor, CompletableFuture, eşzamanlı koleksiyonlar, atomik sınıflar ve senkronizasyon yardımcıları.

Öğrenme Metodu

Her sınıf, bir senaryo problemi çözülerek tanıtılır; ardından alternatiflerle ölçülür ve testle doğrulanır.

Neden Bu Eğitim?

🧰Hazır Araç Kutusu

Elle kilit yazmak yerine doğru concurrent sınıfı seçersiniz.

⛓️Asenkron Zincirler

CompletableFuture ile birden çok servis çağrısını birleştirirsiniz.

⚙️Ayarlı Havuz

Thread havuzu parametrelerini iş yüküne göre ayarlarsınız.

Anahtar Konular

java.util.concurrentjava completablefuturejava executorservicejava concurrenthashmapjava atomicintegerjava countdownlatchjava cyclicbarrierjava forkjoinjava threadpoolexecutorjava concurrency eğitimi
“Doğru concurrent sınıf, yüz satır kilit kodunun yerini tutar.”

Ön Koşullar

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

1
Temel Java

Sınıf, interface ve koleksiyon kullanımı bilgisi gerekir.

2
JDK 17+

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

3
Maven

Maven ile proje açıp bağımlılık eklemek faydalıdır.

4
Çok Çekirdekli Makine

Eş zamanlılık deneyleri için en az dört çekirdekli bir bilgisayar ö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ı görevleri havuzlarda çalıştırır ve CompletableFuture ile asenkron akışları kurar.
Modül 1
Executor Framework
  • ThreadPoolExecutor çekirdek/maksimum boyut ve kuyruk parametreleri
  • FixedThreadPool, CachedThreadPool ve ScheduledExecutor
  • Callable, Future ve invokeAll/invokeAny
  • RejectedExecutionHandler politikaları
  • ThreadFactory ile thread adlandırma
  • Executor kapatma ve görev iptali
Modül 2
CompletableFuture
  • supplyAsync ve thenApply/thenCompose zincirleri
  • thenCombine ile bağımsız görevleri birleştirme
  • allOf ve anyOf kullanımı
  • exceptionally ve handle ile hata yönetimi
  • Özel executor verme ve ForkJoinPool.commonPool tuzakları
  • Zaman aşımı: orTimeout ve completeOnTimeout
Modül 3
Zamanlanmış Görevler
  • ScheduledExecutorService ile schedule, scheduleAtFixedRate
  • FixedRate ve FixedDelay farkı
  • Görev istisnasının sonraki çalışmaları durdurması
  • Timer sınıfının sınırları
  • Spring @Scheduled ile karşılaştırma
  • Zamanlayıcı kapanışı ve kaynak sızıntısı
Modül 4
Akış Tabanlı Görev Hatları
  • Görevler arası veri aktarımı için kuyruklar
  • Fork/Join: RecursiveTask ve work-stealing
  • Paralel stream ile fork/join ilişkisi
  • Pipeline desenleri ve aşama başına havuz
  • Hata yayılımı ve iptal
  • Küçük bir ETL pipeline örneği
Günün hedefiKatılımcı eşzamanlı koleksiyon, atomik sınıf ve koordinasyon nesnelerini doğru seçer ve test eder.
Modül 1
Eşzamanlı Koleksiyonlar
  • ConcurrentHashMap: compute, merge, putIfAbsent
  • CopyOnWriteArrayList ve okuma ağırlıklı kullanım
  • ConcurrentLinkedQueue ve ConcurrentSkipListMap
  • Collections.synchronizedMap ile farkı
  • Zayıf tutarlı (weakly consistent) iteratörler
  • ConcurrentHashMap boyut ve toplu işlemleri
Modül 2
Atomik Sınıflar
  • AtomicInteger, AtomicLong ve AtomicReference
  • compareAndSet ve CAS mantığı
  • LongAdder ile yüksek çekişmede sayaç
  • ABA problemi ve AtomicStampedReference
  • VarHandle'a giriş
  • Atomic ile kilit tabanlı sayaç performans karşılaştırması
Modül 3
Senkronizasyon Yardımcıları
  • CountDownLatch ile başlangıç ve bitiş kapıları
  • CyclicBarrier ile aşamalı hesaplama
  • Phaser ile dinamik katılımcılar
  • Exchanger ile iki thread arası veri değişimi
  • Semaphore ile kaynak sınırlama
  • Doğru yardımcı sınıfı seçme tablosu
Modül 4
Eşzamanlı Kodu Test Etme
  • CountDownLatch ile deterministik test
  • Awaitility ile asenkron beklemeyi test etme
  • Zaman bağımlılığını ScheduledExecutor yerine sahte saat ile azaltma
  • Stres testi ve tekrarlı çalıştırma
  • Thread-safe sınıf için jcstress giriş
  • Test kararsızlığı (flaky) nedenleri

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Thread Havuzu

ThreadPoolExecutor parametrelerini ayarlayıp reddetme politikası seçebilirsiniz.

🧩
Future Kullanımı

Callable ve Future ile sonuç toplayabilirsiniz.

⚙
CompletableFuture

Asenkron zincirleri ve hata yönetimini kurabilirsiniz.

️
Concurrent Koleksiyon

ConcurrentHashMap'in atomik metotlarını kullanabilirsiniz.

🔍
Atomik İşlemler

CAS tabanlı sayaç ve referans güncelleyebilirsiniz.

🛠
Koordinasyon

Latch, Barrier ve Phaser'i doğru senaryoda seçebilirsiniz.

️
Zamanlama

Fixed rate ve fixed delay görevlerini yönetebilirsiniz.

🧪
Test

Awaitility ile eşzamanlı kodu kararlı test edebilirsiniz.

Kimler İçin Uygundur?

  • Java ile servis ve batch uygulaması geliştiren
  • concurrency araç kutusunu tanımak isteyen geliştiriciler için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Java ile servis ve batch uygulaması geliştiren, concurrency araç kutusunu tanımak isteyen geliştiriciler için uygundur.
ConcurrentHashMap tamamen thread-safe mi?
Tekil işlemler güvenlidir; check-then-act için compute ve merge gibi atomik metotlar kullanılmalıdır, eğitimde hata örneği gösterilir.
CompletableFuture hangi havuzu kullanır?
Varsayılan olarak ForkJoinPool.commonPool; bloklayan işler için özel executor verilmesi eğitimde işlenir.
LongAdder ne zaman AtomicLong'dan iyidir?
Çok sayıda thread aynı sayacı yazdığında çekişme azaldığı için; ölçümle gösterilir.
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: Objects for Concurre Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre2 gün
SeviyeOrta 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: Object-oriented Programming Eğitimi
Yazılım Geliştirme Eğitimleri

Java Certified Foundations Associate: Object-oriented Programming Eğitimi

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

Java Foundations: Nesne Yönelimli Programlama eğitimi: Kapsülleme, kalıtım, super, polimorfizm, override, soyut sınıf, arayüz, Object sınıfı, equals ve hashCode

Detayları Gör →
Java ve JVMJava Database Connectivity (JDBC): Batch Executions & Transactions with JDBC Eğitimi
Yazılım Geliştirme Eğitimleri

Java Database Connectivity (JDBC): Batch Executions & Transactions with JDBC Eğitimi

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

JDBC Batch İşlemleri ve Transaction Yönetimi eğitimi: addBatch, executeBatch, setAutoCommit, commit, rollback, Savepoint, izolasyon seviyeleri, deadlock, bağlan

Detayları Gör →
Java ve JVMJava Database Connectivity (JDBC): Interacting with Databases using RowSets Eğitimi
Yazılım Geliştirme Eğitimleri

Java Database Connectivity (JDBC): Interacting with Databases using RowSets Eğitimi

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

JDBC RowSet ile Veritabanı Etkileşimi eğitimi: RowSetFactory, JdbcRowSet, CachedRowSet, WebRowSet, XML dışa aktarma, RowSetListener, bağlantısız çalışma ve acce

Detayları Gör →
Java ve JVMJava Database Connectivity (JDBC): Joining & Filtering Data with RowSets Eğitimi
Yazılım Geliştirme Eğitimleri

Java Database Connectivity (JDBC): Joining & Filtering Data with RowSets Eğitimi

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

JDBC RowSet ile Join ve Filtreleme eğitimi: JoinRowSet.addRowSet, setMatchColumn, FilteredRowSet, Predicate arayüzü, join türleri, sıralama ve SQL JOIN ile perf

Detayları Gör →
Java ve JVMJava Defensive Techniques Eğitimi
Yazılım Geliştirme Eğitimleri

Java Defensive Techniques Eğitimi

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

Java Savunmacı Programlama Teknikleri eğitimi: Girdi doğrulama, defensive copy, değişmez nesneler, null güvenliği, güvenli serileştirme, SQL ve komut enjeksiyon

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