JAVA PERFORMANSI EĞİTİMİ

Java uygulamanızı hızlandırmanın yollarını öğrenin

Koleksiyon seçimi, string ve nesne üretimi, eşzamanlılık, GC temelleri, VisualVM, JFR ve JDBC/ORM performansı.

Eğitim uygulama geliştiricisinin kendi kodunda uygulayabileceği performans iyileştirmelerine odaklanır: algoritmik karmaşıklık ve koleksiyon seçimi, String ve boxing maliyetleri, nesne üretimini azaltma, thread pool ve ExecutorService, sanal thread'ler, senkr…

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

Eğitim Hakkında

Uygulama geliştiricisi gözüyle Java performansı

Eğitim uygulama geliştiricisinin kendi kodunda uygulayabileceği performans iyileştirmelerine odaklanır: algoritmik karmaşıklık ve koleksiyon seçimi, String ve boxing maliyetleri, nesne üretimini azaltma, thread pool ve ExecutorService, sanal thread'ler, senkronizasyon darboğazları, GC davranışına giriş, VisualVM ve JFR ile profilleme, JMH ile ölçüm ve JDBC/Hibernate kaynaklı yavaşlıkların bulunması.

Süre ve Format

3 Gün. Her gün dört modül; Kod ve Veri Yapısı Performansı; Eşzamanlılık ve Çalışma Zamanı; Veri Erişimi ve Yük Testi ekseninde ilerleyen uygulamalı program.

Seviye

Orta Seviye — Java uygulama performansı: kod ve koleksiyon seçimi, eşzamanlılık, GC temelleri, profiling ve veritabanı erişimi

Öğrenme Metodu

Yavaş bir örnek uygulama profillenir, darboğazlar tek tek bulunur ve her iyileştirmenin etkisi önce-sonra ölçümüyle gösterilir.

Neden Bu Eğitim?

⏱️Hızlı kazanımlar

Kodda küçük değişikliklerle büyük hız kazanımı sağlayan noktaları bulursunuz.

🔬Profil okuma

VisualVM ve JFR çıktılarından darboğazı hızlıca teşhis edersiniz.

🧵Doğru eşzamanlılık

Thread havuzu ve kilitleri ölçülü kullanarak ölçeklenirsiniz.

Anahtar Konular

java performansıjava performans analizivisualvmjava profilingthread poolhibernate N+1java koleksiyon performansıJMH
“Hızlı uygulama, tahminle değil, ölçümle iyileştirilen uygulamadır.”

Ön Koşullar

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

1
Java

Java 11+ ve koleksiyon bilgisi.

2
Thread

Thread ve Runnable temel kavramları.

3
Veritabanı

JDBC veya JPA ile temel deneyim.

4
Ortam

JDK 21, Maven ve VisualVM.

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 hedefiKod seviyesi
Modül 1
Ölçüm Yaklaşımı
  • Erken optimizasyon tuzağı ve Amdahl yasası
  • Ölçüm: süre, throughput, latency, p99
  • Benchmark yanılgıları
  • JMH ile temel benchmark
  • Warm-up ve JIT etkisi
  • Hedef ve bütçe belirleme
Modül 2
Koleksiyon Seçimi
  • ArrayList, LinkedList, ArrayDeque karşılaştırması
  • HashMap kapasite, yük faktörü ve hashCode kalitesi
  • TreeMap, EnumMap, ConcurrentHashMap
  • Değişmez koleksiyonlar ve kopya maliyeti
  • İterasyon biçimi ve stream maliyeti
  • Büyük veri için bellek ayak izi
Modül 3
String ve Boxing
  • String birleştirme ve StringBuilder
  • String.format maliyeti ve alternatifler
  • intern ve string pool
  • Autoboxing ve Integer cache
  • Primitive koleksiyon alternatifleri
  • Regex derleme ve yeniden kullanım
Modül 4
Nesne Üretimi ve Bellek
  • Gereksiz nesne üretimini azaltma
  • Nesne havuzu ne zaman mantıklı
  • Lazy initialization
  • Weak/soft referans ve cache
  • Büyük nesne ve dizi tahsisi
  • Bellek tüketimini ölçme
Günün hedefiEşzamanlılık
Modül 1
Thread Havuzları
  • ExecutorService türleri ve boyutlandırma
  • CPU-bound ve I/O-bound ayrımı
  • CompletableFuture ile asenkron akış
  • Virtual thread (Java 21) ve ne zaman kullanılır
  • Backpressure ve kuyruk sınırı
  • Thread leak tespiti
Modül 2
Senkronizasyon
  • synchronized, ReentrantLock, ReadWriteLock
  • Contention ve kilit kapsamını daraltma
  • Atomic sınıflar ve LongAdder
  • ConcurrentHashMap ve lock-free yapılar
  • Deadlock, livelock, starvation
  • false sharing mitine kısa bakış
Modül 3
GC ve JVM Ayarı
  • Heap yapısı ve GC işleyişi özeti
  • G1 varsayılanları ve temel parametreler
  • GC logu okuma
  • Xms/Xmx ve container bellek ayarı
  • Metaspace ve sınıf yükleme
  • OutOfMemoryError türleri
Modül 4
Profiling
  • VisualVM ile CPU ve bellek örnekleme
  • JFR kaydı alma ve JMC analizi
  • Flame graph okuma
  • Thread dump ile bekleme analizi
  • Heap dump ile nesne yoğunluğu
  • Üretimde güvenli profilleme
Günün hedefiUygulama
Modül 1
JDBC Performansı
  • Batch insert ve PreparedStatement
  • fetchSize ve büyük sonuç kümeleri
  • Connection pool ayarı (HikariCP)
  • Connection leak tespiti
  • Transaction süresini kısaltma
  • Index ve execution plan okuma
Modül 2
ORM Performansı
  • N+1 sorgu sorunu ve tespit
  • Join fetch, EntityGraph, projeksiyon
  • Hibernate batch ve flush yönetimi
  • Second-level cache dikkatleri
  • Open Session in View maliyeti
  • SQL loglarından analiz
Modül 3
Cache ve Ağ
  • Caffeine ile yerel cache
  • Redis ile dağıtık cache
  • Cache invalidation stratejileri
  • HTTP client havuzu ve zaman aşımı
  • JSON serileştirme maliyeti
  • Sıkıştırma ve payload küçültme
Modül 4
Yük Testi ve İyileştirme
  • JMeter veya Gatling ile yük senaryosu
  • Darboğaz bulma döngüsü
  • Önce-sonra raporlama
  • Regresyon önleme
  • Vaka çalışması: yavaş servisin hızlandırılması
  • İyileştirme planı hazırlama

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Ölçüm

Performans hedeflerini ölçülebilir metriklerle belirleyebilirsiniz.

🎯
Koleksiyon seçimi

Kullanım örüntüsüne uygun koleksiyonu seçebilirsiniz.

🧩
Bellek bilinci

Gereksiz nesne üretimini ve boxing maliyetini azaltabilirsiniz.

⚙️
Thread yönetimi

Thread havuzlarını iş yüküne göre boyutlandırabilirsiniz.

🔍
Senkronizasyon

Kilit çekişmesini azaltan tasarımlar yapabilirsiniz.

🛠️
Profiling

VisualVM ve JFR ile darboğaz bulabilirsiniz.

📈
Veri erişimi

JDBC ve ORM kaynaklı yavaşlıkları giderebilirsiniz.

🚀
Yük testi

Yük testi sonuçlarını yorumlayıp iyileştirme planı çıkarabilirsiniz.

Kimler İçin Uygundur?

  • Yavaş çalışan Java uygulamalarını hızlandırmak isteyen orta düzey geliştiriciler
  • takım liderleri için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Yavaş çalışan Java uygulamalarını hızlandırmak isteyen orta düzey geliştiriciler ve takım liderleri için uygundur.
Eğitime katılmak için hangi ön bilgiler gerekir?
Java: Java 11+ ve koleksiyon bilgisi. Thread: Thread ve Runnable temel kavramları.
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: Kod ve Veri Yapısı Performansı; Eşzamanlılık ve Çalışma Zamanı; Veri Erişimi ve Yük Testi.
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.
Bu eğitim JVM ayarı eğitiminden nasıl ayrılır?
Bu eğitim uygulama kodu, eşzamanlılık ve veri erişimi performansına odaklanır; GC ve JIT ayrıntıları ileri seviye JVM Performance Tuning eğitiminde derinleşir.

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 Performansı Eğitimi Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre3 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 JVMJakarta Servlets: Request and Application Scope Attributes Eğitimi
Yazılım Geliştirme Eğitimleri

Jakarta Servlets: Request and Application Scope Attributes Eğitimi

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

Servlet scope eğitimi: request, session ve application scope öznitelikleri, forward, thread güvenliği, AtomicInteger, ConcurrentHashMap, listener ve oturum güve

Detayları Gör →
Java ve JVMJakarta Servlets: ServletContext, ServletConfig, and Initialization Parameters Eğitimi
Yazılım Geliştirme Eğitimleri

Jakarta Servlets: ServletContext, ServletConfig, and Initialization Parameters Eğitimi

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

Jakarta Servlets ServletContext ve Init Parametreleri eğitimi: ServletContext, ServletConfig, init-param, context-param, listener ve uygulama kapsamlı paylaşıml

Detayları Gör →
Java ve JVMJakarta Servlets: The Servlet Lifecycle and HTTP Methods Eğitimi
Yazılım Geliştirme Eğitimleri

Jakarta Servlets: The Servlet Lifecycle and HTTP Methods Eğitimi

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

Servlet Yaşam Döngüsü ve HTTP Metotları eğitimi: init, service, destroy aşamaları, HttpServlet metotları, durum kodları, başlıklar ve eşzamanlı istek yönetimi.

Detayları Gör →
Java ve JVMJakarta Servlets: URL Mappings and Request Parameters Eğitimi
Yazılım Geliştirme Eğitimleri

Jakarta Servlets: URL Mappings and Request Parameters Eğitimi

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

Servlet URL Eşlemeleri ve İstek Parametreleri eğitimi: Exact, path, extension ve default eşlemeler, getParameter, getParameterMap, path variable çözümleme ve gi

Detayları Gör →
Java ve JVMJakarta Servlets: Using Apache Tomcat with Servlets Eğitimi
Yazılım Geliştirme Eğitimleri

Jakarta Servlets: Using Apache Tomcat with Servlets Eğitimi

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

Apache Tomcat ile Servlet Geliştirme eğitimi: Tomcat 10.1 mimarisi, Connector, server.xml, context.xml, WAR deploy, Manager uygulaması, SSL, loglama ve performa

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