Java 23 Yenilikleri (2024)
> ⚠️ Bu konuda çalıştırılabilir örnek yoktur. Portal JDK 21 üzerinde çalışır; Java 23+ > özellikleri burada derlenmez. Kod parçacıkları JDK 23 gerektirir, tanıtım amaçlıdır.
Java 23 Yenilikleri (2024)
⚠️ Bu konuda çalıştırılabilir örnek yoktur. Portal JDK 21 üzerinde çalışır; Java 23+ özellikleri burada derlenmez. Kod parçacıkları JDK 23 gerektirir, tanıtım amaçlıdır.
Java 23 (Eylül 2024), LTS olmayan bir sürümdür ve ağırlıklı olarak önizleme özelliklerini ilerletti; dokümantasyon ve çöp toplamada kalıcı iyileştirmeler getirdi.
Markdown dokümantasyon yorumları (JEP 467)
Javadoc artık HTML yerine Markdown ile de yazılabilir — çok daha okunaklı:
/// Bir kullanıcıyı id'sine göre bulur. /// /// - `id` pozitif olmalı /// - bulunamazsa `Optional.empty()` döner /// /// Bkz: [#kaydet(Kullanici)] public Optional<Kullanici> bul(long id) { ... }
/// (üç eğik çizgi) ile başlayan Markdown yorumları, eski /** <p>...</p> */ HTML gürültüsünü
ortadan kaldırır.
ZGC varsayılan olarak kuşak-temelli (JEP 474)
Java 21'de eklenen "generational ZGC", Java 23'te varsayılan mod oldu — düşük gecikmeli çöp toplayıcının verimi arttı.
Önizlemeler
- Primitive Types in Patterns (JEP 455, önizleme):
instanceofveswitch'te ilkel tip desenleri:switch (sayi) { case int i when i > 100 -> "büyük"; // ilkel tip deseni (önizleme) case int i -> "küçük"; } - Module Import Declarations (JEP 476, önizleme): bir modülün tüm paketlerini tek satırda içe
aktarma:
import module java.base; // java.base'in tüm dışa açık paketleri (önizleme) - Flexible Constructor Bodies (JEP 482, 2. önizleme):
super()öncesi ifadeler (Java 22'deki önizlemenin devamı). - Stream Gatherers (JEP 473, 2. önizleme), Structured Concurrency (3. önizleme), Scoped Values (3. önizleme), Class-File API (2. önizleme).
sun.misc.Unsafebellek-erişim metotları kullanımdan kaldırılmaya başlandı (modern FFM API'ye geçiş için).
Özet
Java 23'ün öne çıkanlarını gördük: Markdown Javadoc (///), kuşak-temelli ZGC varsayılanı;
ilkel tip desenleri, modül import bildirimleri ve esnek constructor gövdeleri gibi önizlemeler.
(Hepsi JDK 23+ gerektirir.) Sırada, sanal thread'lerin "pinning" sorununu çözen sürüm: Java 24.