ADVANCED JAVA PROGRAMMING EĞİTİMİ

Java'yı JVM düzeyinde derinlemesine öğrenin

Eşzamanlılık, JVM bellek ve GC, NIO.2, JPMS, Effective Java ilkeleri, JMH, güvenli kodlama ve jlink.

Java bellek modeli, eşzamanlılık, sanal thread, JVM/GC, JMH, NIO.2, güvenli kodlama ve jlink konularını kapsayan 4 günlük ileri Java eğitimi.

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

Eğitim Hakkında

İleri Java: eşzamanlılık, JVM, performans ve güvenlik

Java 17-21 ile ileri düzey konuları ele alan eğitim; generics, stream ve record/sealed, Java bellek modeli ve volatile/happens-before, ExecutorService, CompletableFuture, sanal thread ve StructuredTaskScope, JVM bellek bölgeleri, G1/ZGC, jcmd/JFR/MAT, NIO.2, HttpClient, JPMS, reflection, JMH ile ölçüm, güvenli kodlama ve jlink/Docker ile paketleme işlenir.

Süre ve Format

4 Gün. Her gün dört modül; Dil Gücü ve Sözleşmeler; Eşzamanlılık ve I/O; JVM, Performans ve Test; Servis, Güvenlik ve Dağıtım ekseninde ilerleyen uygulamalı program.

Seviye

İleri Seviye — modern Java dili, JMM ve eşzamanlılık, JVM iç yapısı, NIO.2, güvenlik, performans ve dağıtım

Öğrenme Metodu

Her konu çalışan kod ve ölçümle gösterilir; JMH, JFR ve heap dump analizi kendi bilgisayarlarında yapılır.

Neden Bu Eğitim?

🧵Doğru eşzamanlılık

JMM ve modern API'lerle yarış durumlarından uzak kod yazarsınız.

🔬JVM'i okumak

GC logları, JFR ve heap dump ile üretim sorunlarını analiz edersiniz.

🛡️Güvenli ve etkin kod

Effective Java ilkeleri ve güvenli kodlamayı birlikte uygularsınız.

Anahtar Konular

ileri Javaadvanced JavaJava eşzamanlılıkJVM tuningJava GCJMHsanal threadJava NIO.2JFRJava performans
“Java'da ustalık, dili bilmekten çok JVM'in ne yaptığını bilmektir.”

Ön Koşullar

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

1
Java bilgisi

Sınıf, interface, koleksiyon ve istisna kavramlarına temel hakimiyet.

2
Komut satırı

Terminal ve temel Linux/Windows komutları.

3
Geliştirme ortamı

JDK 17+ ve IntelliJ IDEA veya Eclipse kurulu bir bilgisayar.

4
Maven/Git

Maven ile derleme ve temel git bilgisi.

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ı stream, record ve sealed gibi özellikleri kullanır, nesne sözleşmelerini ve sınıf tasarımını doğru uygular.
Modül 1
Modern Java Dil Özellikleri
  • Generics: wildcard, PECS kuralı ve tip silinmesi (type erasure)
  • Lambda, fonksiyonel arayüzler ve method reference
  • Stream API: collect, groupingBy, partitioningBy, flatMap, paralel akış
  • Optional kullanımı ve kötüye kullanım örnekleri
  • record, sealed class, switch ifadeleri ve pattern matching
  • var, text block ve Java sürümleri arası yeni özellikler
Modül 2
Object Metotları: equals, hashCode, Comparable
  • equals sözleşmesi: yansıma, simetri, geçişlilik, tutarlılık
  • hashCode sözleşmesi ve equals ile birlikte yazılması
  • toString'in okunur biçimi; record ile otomatik üretim
  • clone yerine kopya yapıcı/fabrika
  • Comparable ve compareTo sözleşmesi, Comparator.comparing zinciri
  • Lombok/record kullanımının sözleşmelere etkisi
Modül 3
Sınıf ve Arayüz Tasarımı
  • Erişilebilirliği en aza indirme ve public alan yerine erişimci
  • Değişmez (immutable) sınıf yazım kuralları
  • Kalıtım yerine kompozisyon; kırılgan taban sınıf sorunu
  • Miras için tasarla ya da yasakla: final ve belgeleme
  • Soyut sınıf yerine arayüz ve default metotlar
  • İç içe sınıf türleri: statik, üye, anonim ve yerel sınıf seçimi
Modül 4
Metotlar ve İstisna Yönetimi
  • Parametre doğrulama (Objects.requireNonNull) ve savunmacı kopya
  • Metot imzası tasarımı, overload karışıklığı
  • Boş koleksiyon döndürme ve Optional'ın doğru kullanımı
  • Checked ve unchecked istisna seçimi
  • Hata atomikliği ve istisna çeviri (exception translation)
  • Hata mesajlarında yakalama bilgisi ve istisnaları yutmama
Günün hedefiKatılımcı Java bellek modelini, executor ve CompletableFuture'ı, sanal thread'leri ve NIO.2'yi uygular.
Modül 1
Eşzamanlılık ve Java Bellek Modeli
  • Thread yaşam döngüsü, synchronized ve monitor kilit mantığı
  • volatile, happens-before ve Java Memory Model
  • ExecutorService, ThreadPoolExecutor parametreleri ve kuyruk politikaları
  • CompletableFuture ile asenkron zincirler ve hata yönetimi
  • ReentrantLock, ReadWriteLock, Semaphore, CountDownLatch
  • Sanal thread (Java 21), ForkJoinPool ve ConcurrentHashMap iç yapısı
Modül 2
Asenkron Akışlar ve Yapısal Eşzamanlılık
  • Flow API (Publisher/Subscriber) ve geri basınç
  • Sanal thread uygulamaları ve thread-per-request
  • Yapısal eşzamanlılık (StructuredTaskScope) ve ScopedValue
  • CompletableFuture kompozisyonu: thenCompose, allOf, exceptionally
  • Zaman aşımı, iptal ve kesinti (interrupt) yönetimi
  • Reaktif kütüphanelere bakış (Reactor/RxJava) ve seçim ölçütleri
Modül 3
NIO.2, Ağ ve Serileştirme
  • java.nio.file: Path, Files, walkFileTree ve WatchService
  • Channel, ByteBuffer ve bellek eşlemeli dosyalar
  • Selector ile bloklamayan ağ uygulaması
  • java.net.http.HttpClient (senkron/asenkron, HTTP/2)
  • Java serialization riskleri, Jackson ile JSON işleme
  • try-with-resources, AutoCloseable ve kaynak yönetimi
Modül 4
JDBC, Reflection ve Annotation
  • JDBC: PreparedStatement, batch, transaction ve savepoint
  • HikariCP ile bağlantı havuzu ayarları
  • Reflection API: Class, Method, Field ve erişilebilirlik
  • Özel annotation tanımı, @Retention/@Target ve işlenmesi
  • Dinamik proxy (java.lang.reflect.Proxy) ve ServiceLoader
  • JPMS (module-info.java), jlink ve jdeps ile modüler uygulama
Günün hedefiKatılımcı JVM bellek ve GC ayarlarını inceler, JMH ile ölçüm yapar ve test altyapısını kurar.
Modül 1
JVM İçyapısı ve Bellek Yönetimi
  • Heap, stack, metaspace ve bellek bölgeleri
  • Çöp toplayıcılar: G1, ZGC, Parallel ve seçim ölçütleri
  • Xms/-Xmx/-XX seçenekleri ve GC günlüğü okuma (-Xlog:gc)
  • jcmd, jstack, jmap ile canlı JVM tanısı
  • Java Flight Recorder ve JDK Mission Control ile profil
  • Bellek sızıntısı avı: heap dump ve Eclipse MAT analizi
Modül 2
Performans Mühendisliği
  • JIT derleme, inlining, escape analysis ve kod ısınması
  • JMH ile doğru kıyaslama ve sık yapılan hatalar
  • async-profiler ile CPU/alloc flame graph
  • Koleksiyon seçimi ve boxing maliyeti; primitive koleksiyonlar
  • String birleştirme, regex ve I/O tamponlama
  • GC ayarı ve gecikme/verim dengesi
Modül 3
Test ve Kıyaslama Araçları
  • JUnit 5: parametrik testler, @Nested, lifecycle ve extension modeli
  • Mockito ile stub/verify, ArgumentCaptor ve spy
  • AssertJ ile akıcı doğrulamalar
  • Testcontainers ile veritabanı entegrasyon testi
  • JMH ile doğru mikro kıyaslama ve JIT ısınması
  • Maven/Gradle ile test profilleri ve JaCoCo kapsam raporu
Modül 4
Eşzamanlılık Pratikleri
  • Paylaşılan değiştirilebilir veriye erişimi senkronize etme
  • Aşırı senkronizasyondan kaçınma, kilit kapsamını küçültme
  • Thread yerine executor ve task; wait/notify yerine java.util.concurrent
  • Thread-safe belgeleme düzeyleri
  • Tembel ilklendirme: holder class idiomu
  • Serileştirme tuzakları ve serialization proxy deseni
Günün hedefiKatılımcı bir Java servisi geliştirir, güvenlik ve paketleme adımlarını uygular ve bitirme çalışmasını sunar.
Modül 1
Java ile Servis Geliştirme
  • Gömülü HTTP sunucuları: Javalin, Helidon, Micronaut karşılaştırması
  • JSON işleme, doğrulama ve hata modeli
  • Bağımlılık enjeksiyonu: Guice/Dagger/CDI
  • Yapılandırma, günlük ve sağlık uç noktaları
  • Veri erişimi: jOOQ/JDBI ve havuzlama
  • Test: gömülü sunucu ve sözleşme testleri
Modül 2
Güvenli Kodlama
  • OWASP Top 10 ve Java'da karşılıkları
  • Girdi doğrulama, çıktı kodlama ve SQL enjeksiyonu önleme
  • Güvensiz serileştirme (deserialization) ve ObjectInputFilter
  • JCA/JCE ile şifreleme, hash ve parola saklama (PBKDF2, Argon2)
  • Gizli anahtar yönetimi ve yapılandırma sızıntıları
  • OWASP Dependency-Check ve SAST araçları
Modül 3
Paketleme ve Dağıtım
  • jlink ile özel çalışma zamanı ve jpackage ile yükleyici
  • Çok aşamalı Dockerfile ve JVM konteyner ayarları
  • CI/CD hattı: derleme, test, imaj, tarama
  • Sürüm yönetimi ve geri dönüş stratejisi
  • JVM bayrakları ve üretim günlüğü
  • Native image (GraalVM) ile başlatma süresi kazanımı
Modül 4
Bitirme: İleri Java Projesi
  • Gereksinim, mimari ve modül sınırlarının belirlenmesi
  • Eşzamanlı iş akışı ve kaynak yönetimi uygulaması
  • Test stratejisi ve kıyaslama
  • Performans ve güvenlik gözden geçirmesi
  • Dağıtım paketi hazırlama
  • Kod incelemesi ve sunum

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Modern Java

Record, sealed ve pattern matching kullanabilirsiniz.

🎯
Java bellek modeli

happens-before ilişkisini açıklayıp thread-safe kod yazabilirsiniz.

🧩
Eşzamanlı API

ExecutorService ve CompletableFuture ile asenkron akışlar kurabilirsiniz.

🛠️
Sanal thread

Virtual thread ve structured concurrency kullanabilirsiniz.

🔍
JVM tanısı

jcmd, JFR ve MAT ile sorun analiz edebilirsiniz.

🚀
GC ayarı

G1 ve ZGC'yi iş yüküne göre seçebilirsiniz.

📈
Mikro kıyaslama

JMH ile güvenilir ölçüm yapabilirsiniz.

🧪
Güvenli kodlama

OWASP ilkelerini Java kodunda uygulayabilirsiniz.

Kimler İçin Uygundur?

  • Java ile en az bir yıl çalışmış; performans
  • eşzamanlılık
  • JVM konularını derinleştirmek isteyen geliştiriciler ve takım liderleri için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Java ile en az bir yıl çalışmış; performans, eşzamanlılık ve JVM konularını derinleştirmek isteyen geliştiriciler ve takım liderleri için uygundur.
Hangi Java sürümü kullanılır?
Java 21 LTS; 17'deki özellikler ve farklar da belirtilir.
Spring anlatılıyor mu?
Hayır; eğitim saf Java ve JVM üzerine odaklanır.
JVM ayarı derinliği nedir?
G1/ZGC seçimi, bellek bölgeleri, GC log analizi ve JFR ile profil canlı uygulanır.
Eğitim sonunda sertifika alabilir miyim?
Evet. Devamlılık ve başarı koşullarını yerine getiren katılımcılara 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. Advanced Java Programming Eğitimi Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre4 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 EE Teknolojileri ile Uygulama Geliştirme Eğitimi
Yazılım Geliştirme Eğitimleri

Java EE Teknolojileri ile Uygulama Geliştirme Eğitimi

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

Java EE Teknolojileri ile Uygulama Geliştirme eğitimi: kurumsal Java platformunun katmanlı uygulama geliştirmesi. Uygulamalı 3 gün, DVA Katılım ve Başarı Sertif

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

Java Hibernate: Getting Started Eğitimi

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

Java Hibernate: Getting Started eğitimi: oRM mantığı ve Hibernate'e giriş. 2 gün uygulamalı program, Digital Vizyon Akademi Katılım ve Başarı Sertifikası.

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

Java Hibernate: Working with Hibernate Eğitimi

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

Java Hibernate: Working with Hibernate eğitimi: hibernate ileri eşleme, önbellek ve performans. Uygulamalı 2 gün, DVA Katılım ve Başarı Sertifikası.

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

Java ile Microservices Eğitimi

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

Java ile Microservices eğitimi: mikroservis tasarımından dağıtıma uçtan uca Java. 4 gün uygulamalı program, Digital Vizyon Akademi Katılım ve Başarı Sertifikası

Detayları Gör →
Java ve JVMJava ile Test Otomasyonuna Giriş Eğitimi
Yazılım Geliştirme Eğitimleri

Java ile Test Otomasyonuna Giriş Eğitimi

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

Java ile Test Otomasyonuna Giriş eğitimi: birim, arayüz ve API testlerini Java ile otomatikleştirme. Uygulamalı 3 gün, DVA Katılım ve Başarı Sertifikası.

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