Java 3D logosu yanında katmanlı JVM disk yığını ve class modül bloğu bembeyaz arka planda premium kompozisyon

Java Eğitimi, dilin modern sürümlerini günlük geliştirme alışkanlığına dönüştürmeyi öğretir. Katılımcılar, nesne yönelimli tasarımdan eşzamanlılığa kadar dilin geniş yelpazesini bir bütün olarak kavrar.

Program boyunca temel sözdizimi, koleksiyonlar ve fonksiyonel akışlar bir araya gelerek okunabilir ve bakımı kolay kod yazma pratiği oturur. Konular, güncel dil dokümantasyonu temel alınarak işlenir.

Java eğitimini şirketinize özel planlayalım. 0212 951 0608 · Teklif isteyin

Katılımcı Profili

Bu eğitim, Java'yı "enterprise dili" klişesinden çıkartıp modern özellikleriyle kullanmak isteyen rollere yöneliktir:

  • Java Geliştiriciler: Modern Java (17, 21 LTS) özellikleriyle çalışan ekipler
  • Backend Mühendisleri: Spring ekosisteminde yazılım geliştiren roller
  • Junior Geliştiriciler: Java'yı production seviyede öğrenmek isteyen mühendisler
  • Polyglot Programcılar: Kotlin, Scala veya Groovy ile Java arasında seçim yapan roller
  • Enterprise Mühendisleri: Büyük ölçekli Java sistemlerinde çalışan ekipler

Ön Gereklilikler

Bu eğitime katılım için aşağıdaki ön bilgiler önerilir:

  • Herhangi bir dilde temel programlama deneyimi
  • OOP kavramlarına (class, inheritance, interface) aşinalık
  • IntelliJ IDEA, Eclipse veya VS Code kullanım deneyimi
  • Komut satırı (mvn, gradle) ile temel rahatlık
  • Git ile sürüm kontrol akışı bilgisi

Süresi ve Tarihi

Süre: 5 gün. Bu süre standart program içindir; ek modüllere ve hedefe göre süre özelleştirilebilir.
Eğitim tarihleri ve saatleri, ekibinizin uygunluğuna göre birlikte planlanır.

Kazanımlar

Bu eğitimin sonunda katılımcı, Java'yı "enterprise dili" klişesinden çıkartıp modern özellikleriyle kullanır:

  • JVM ekosistemini Kotlin, Scala, Groovy ile karşılaştırarak yerini bilir
  • OOP'yi Java idiom'larıyla — kalıtım, kompozisyon, interface — uygular
  • Collections Framework ve Generics'i birlikte tip-güvenli kullanır
  • Stream API ile fonksiyonel akış kurar; parallel stream tuzaklarını bilir
  • Optional ve Record ile null safety ve immutable model yazar
  • Virtual Thread (Project Loom) ile mass concurrency kurar
  • Maven ve Gradle ile dependency, build ve plugin yönetir

Java Eğitimi Konuları

1. Java Felsefesi ve JVM Ekosistemi

  • "Write once, run anywhere" prensibi ve sürüm akışı
  • OpenJDK, Oracle JDK, Amazon Corretto, Eclipse Temurin
  • LTS sürümleri ve sürüm tercih stratejisi
  • JVM ekosistem dilleri: Kotlin, Scala, Groovy, Clojure

2. Söz Dizimi ve Primitive Tipler

  • Primitive tipler: byte, short, int, long, float, double, char, boolean
  • Autoboxing ve Integer cache (-128 ila 127)
  • var ile local type inference
  • Text block (""") ve multiline string
  • Operator önceliği ve sequence point

3. String Manipülasyonu ve StringBuilder

  • String immutability ve string pool
  • StringBuilder vs StringBuffer thread safety
  • String.format ve printf
  • String.join, String.repeat modern API
  • Locale ve internationalization

4. Akış Kontrolü ve Switch Expressions

  • if-else, classic switch statement
  • Switch expression ve arrow syntax
  • Pattern matching for switch
  • for-each ve enhanced for loop
  • break, continue, labeled loop

5. OOP - Class, Object, Encapsulation

  • Class, constructor, this keyword
  • Access modifier: public, protected, package, private
  • Getter/setter ve encapsulation
  • static keyword: field, method, block, nested class
  • Object class metotları: equals, hashCode, toString

6. Inheritance, Polymorphism, Abstract Class

  • extends ile inheritance
  • super keyword ve constructor chain
  • Method overriding ve @Override annotation
  • Abstract class ve abstract method
  • final class ve method ile inheritance kapatma

7. Interface ve Default Method

  • Interface ile multiple inheritance benzeri
  • Default method ve diamond problem çözümü
  • Static method ve private method interface'te
  • Functional interface ve @FunctionalInterface
  • Sealed interface ile sınırlı hiyerarşi

8. Collections Framework

  • List: ArrayList, LinkedList, Vector
  • Set: HashSet, TreeSet, LinkedHashSet
  • Map: HashMap, TreeMap, ConcurrentHashMap
  • Queue ve Deque: PriorityQueue, ArrayDeque
  • Iterator, fail-fast vs fail-safe
  • Collections utility class ve immutable factory

9. Generics ve Type Erasure

  • Generic class, method, interface
  • Wildcard: ?, extends, super (PECS prensibi)
  • Bounded type parameter
  • Type erasure ve runtime sınırlamaları
  • Heap pollution ve @SafeVarargs

10. Functional Interface ve Lambda

  • Lambda expression syntax
  • Built-in functional interface: Function, Predicate, Consumer, Supplier
  • Method reference (::) ve constructor reference
  • Capture variable ve effectively final

11. Stream API - map, filter, reduce

  • Stream, Collection ile farkı
  • Intermediate vs terminal operation
  • map, filter, flatMap, reduce
  • Collectors: toList, toMap, groupingBy, partitioningBy
  • Parallel stream ve ForkJoinPool

12. Optional - Null Safety

  • Optional.of, ofNullable, empty
  • orElse, orElseGet, orElseThrow farkı
  • map, flatMap, filter Optional ile
  • Optional anti-pattern: field tipi olarak kullanma

13. Exception Handling - Checked, Unchecked ve try-with-resources

  • Checked vs unchecked exception
  • try-catch-finally ve try-with-resources
  • Custom exception sınıfı tasarımı
  • Exception chaining: cause ve initCause
  • Multi-catch syntax (|)

14. I/O ve NIO.2 (Path, Files)

  • Classic I/O: InputStream, OutputStream, Reader, Writer
  • NIO.2: Path, Paths, Files
  • Files.readAllLines, Files.lines streaming
  • WatchService ile dosya değişikliği izleme
  • Serializable ve serialization riskleri

15. Concurrency - Thread, Runnable

  • Thread oluşturma: extends Thread vs implements Runnable
  • synchronized keyword ve intrinsic lock
  • volatile ve happens-before
  • wait, notify, notifyAll low-level senkronizasyon
  • java.util.concurrent.atomic paketi

16. ExecutorService ve CompletableFuture

  • ExecutorService ve thread pool yönetimi
  • Future ile sonuç bekleme
  • CompletableFuture ile asenkron zincir
  • thenApply, thenCompose, thenCombine
  • Exception handling: exceptionally, handle

17. Virtual Threads (Project Loom)

  • Platform thread vs virtual thread
  • Virtual thread yaşam döngüsü
  • Structured concurrency API
  • Scoped value (alternative to ThreadLocal)
  • Migration: traditional ExecutorService → virtual

18. Memory Model, Happens-Before ve Garbage Collection

  • JMM, happens-before ve memory barrier
  • Double-checked locking tuzakları
  • Immutable object ile thread safety
  • Generational GC: Young, Old, Metaspace
  • G1, ZGC, Shenandoah karşılaştırması
  • GC log analizi ve memory leak tespiti

19. Module System (JPMS)

  • module-info.java ve module declaration
  • exports, requires, opens
  • Modular JDK ve jlink
  • Migration: classpath → module path

20. Records, Sealed Classes, Pattern Matching

  • Record ile immutable data carrier
  • Sealed class ve permits
  • Pattern matching for instanceof
  • Pattern matching for switch
  • Record pattern ve deconstruction

21. Test - JUnit 5 ve AssertJ

  • JUnit 5 Jupiter API
  • @Test, @BeforeEach, @ParameterizedTest
  • AssertJ akıcı assertion
  • Mockito ile mock
  • Testcontainers ile integration test

22. Build - Maven ve Gradle

  • Maven: pom.xml ve standard lifecycle
  • Gradle: build.gradle ve task DSL
  • Dependency management ve BOM
  • Plugin sistemi ve custom task
  • Wrapper script (mvnw, gradlew)

JAVA EĞİTİMİ ile İlgili
Sıkça Sorulan Sorular ve Cevapları


Java eğitimini kurumumuza özel planlayabilir miyiz?

Evet. Java eğitiminin içeriği ve süresi sabit değildir; firmanızın öncelikleri ve katılımcı profiliniz doğrultusunda programı birlikte kurgular, tamamen kurumunuza özel olarak ilerleriz.

Java eğitimini hangi illerde veriyorsunuz?

Java eğitimini firmanızın bulunduğu yerde, kendi ofisinizde yerinde vermekteyiz; İstanbul, Ankara ve İzmir başta olmak üzere Türkiye'nin tüm illerine gelmekteyiz. Tercih eden kurumlara eğitimi canlı online olarak da sunmaktayız.

Java eğitimini online veriyor musunuz?

Evet. Java eğitimini canlı online formatta da vermekteyiz; ekran paylaşımı ve uygulamalı oturumlarla Türkiye'nin her ilinden katılım sağlanabilir. İçerik ve takvim yine kurumunuzun ihtiyacına göre planlanır.

Java eğitimi çalışanlarımızın seviyesine göre uyarlanıyor mu?

Evet. Eğitimin başında, ihtiyacınıza bağlı olarak bir seviye tespiti yapmakta ve katılımcıların mevcut bilgisine göre ilerlemekteyiz. Böylece konuya yeni başlayanlar da, deneyimli olanlar da aynı eğitimden verim alır.

Java eğitimi projemiz üzerinden ilerleyebilir mi?

Eğitim, kendi projeniz veya kullanım senaryonuz üzerinden ilerleyebilir. Bunun için teklif öncesinde projenizi bize iletmeniz ya da tarif etmeniz gerekmektedir; böylece eğitimi gerçek işinize göre kurgularız.

Java eğitmenleriniz hakkında bilgi alabilir miyiz?

Eğitmenlerimiz yazılım geliştirme alanında sahada deneyimli, Java ile gerçek projeler geliştirmiş yazılımcılardır. İhtiyacınıza ve hedefinize en uygun eğitmeni sizinle eşleştiriyoruz.

Katılımcılarımıza sertifika veriliyor mu?

Evet. Eğitimi tamamlayan katılımcılarımıza katılım sertifikası vermekteyiz. Sertifika, eğitimin adını ve katılımcının bilgilerini içerir; kurumunuzun talebine göre dijital veya basılı olarak iletilir.

Java eğitiminin fiyatı ne kadar?

Java eğitimi kurumlara özel planlandığı için sabit liste fiyatı yoktur. İstekleriniz ve kapsam doğrultusunda bir teklif hazırlayıp fiyatla birlikte size iletmekteyiz.

Ekip hedefinizi paylaşın, birlikte en doğru Java programını netleştirelim.
0212 951 0608 · Kurumsal teklif