Java 24 Yenilikleri (2025)
> ⚠️ Bu konuda çalıştırılabilir örnek yoktur. Portal JDK 21 üzerinde çalışır; Java 24+ > özellikleri burada derlenmez. Kod parçacıkları JDK 24 gerektirir, tanıtım amaçlıdır.
Java 24 Yenilikleri (2025)
⚠️ Bu konuda çalıştırılabilir örnek yoktur. Portal JDK 21 üzerinde çalışır; Java 24+ özellikleri burada derlenmez. Kod parçacıkları JDK 24 gerektirir, tanıtım amaçlıdır.
Java 24 (Mart 2025), LTS olmayan ama çok sayıda özellik içeren zengin bir sürümdür. Özellikle sanal thread'lerin önemli bir kısıtını kaldırması ve Stream Gatherers'ı standartlaştırmasıyla öne çıkar.
Stream Gatherers standart (JEP 485)
Stream API'ye özel ara işlemler (intermediate operations) yazma yeteneği — map/filter gibi
yerleşiklerle sınırlı kalmadan kendi akış dönüşümlerini tanımlarsın:
// Örnek: kayan pencere (windowing), eşsizleştirme, gruplu toplama gibi özel işlemler var sonuc = stream.gather(Gatherers.windowSliding(3)).toList(); // 3'lü kayan pencereler var ilkN = stream.gather(Gatherers.fold(...)).toList();
Collectors akışın SONUNDA toplar; Gatherers ise akışın ORTASINDA, durum tutarak dönüştürür
(uzun süredir eksik olan bir esneklik).
Sanal thread'lerde "pinning" kaldırıldı (JEP 491)
Java 21'de sanal thread'lerin önemli bir kısıtı vardı: bir synchronized blok içinde bloklayan
işlem, sanal thread'i taşıyıcı (carrier) platform thread'ine "sabitler" (pinning) ve ölçeklenmeyi
bozardı. Java 24 bunu çözdü — artık synchronized içinde de sanal thread'ler serbestçe
askıya alınabilir. (Java 21'de ReentrantLock ile çözülen sorun artık kendiliğinden gider.)
Diğer önemli yenilikler
- Class-File API standart (JEP 484): bytecode okuma/yazma için resmi API (araçlar/framework'ler için; eski ASM gibi kütüphanelerin yerine).
- Ahead-of-Time Class Loading & Linking (JEP 483): başlangıç süresini kısaltan AOT önbelleği (Project Leyden'in ilk meyveleri).
- Security Manager kalıcı olarak devre dışı (JEP 486): yıllardır deprecated olan Security Manager artık işlevsiz.
- Kuantum-dirençli kriptografi (JEP 496/497): ML-KEM ve ML-DSA algoritmaları (gelecekteki kuantum saldırılarına karşı).
- ZGC: yalnızca kuşak-temelli mod (JEP 490): eski mod kaldırıldı.
Önizlemeler
- Primitive Types in Patterns (2. önizleme), Module Import Declarations (2. önizleme), Flexible Constructor Bodies (3. önizleme), Scoped Values (4. önizleme), Structured Concurrency (4. önizleme), Simple Source Files & Instance Main (4. önizleme).
Özet
Java 24'ün öne çıkanlarını gördük: standartlaşan Stream Gatherers (özel akış işlemleri), sanal thread'lerde pinning sorununun çözümü, Class-File API ve AOT başlangıç iyileştirmeleri, kuantum- dirençli kriptografi. (Hepsi JDK 24+ gerektirir.) Sırada, bir sonraki LTS: Java 25.