Java 17
Java 17 nedir?
Java 17 Eylül 2021’de çıktı ve LTS’tir. Ondan önce yaygın LTS Java 11 idi, sonra Java 21 geldi. 17’de record, sealed class ve instanceof için pattern matching hazırdır. Text block daha önce geldi, 17’de de vardır.
Java 17 ne için kullanılır?
Java 17 sunucu uygulaması, kütüphane ve bazı Android derleme araçlarının hedefidir.
- Spring gibi sunucu çatısı
- Eski Java 8 veya 11 kodunu taşımak
- Record ile kısa veri tipi
- JDK araçlarını sabit tutmak
Java 17 ile ne yapılabilir?
Java 17 ile Java 11’de yazılmış programı sınadıktan sonra daha yeni sözdizimine taşıyabilirsin. Yeni projede record bir DTO’yu kısaltır. En yeni sözdizimi, sonraki LTS’te gelen bazı şeyler, 17’de yoktur.
Java 17 öğrenmek zor mu?
Java bilen için 17 yeni bir dil değildir. Zorluk eski JDK’dan geçiş, kaldırılmış iç API ve derleme aracının sürümüdür. java --version 17 göstermiyorsa kod 17 sayılmaz.
Avantajları ve sınırları
Avantaj: yıllarca destek, kararlılık ve geniş kütüphane. Sınır: 21 ve sonraki LTS’teki bazı dil olanakları burada yoktur. Proje 8’de kaldıysa geçiş testsiz olmaz.
Temel kavramlar
JDK dili ve araçları verir. JRE yalnız çalıştırmak içindir. Record alanları olan kısa sınıftır.
- LTS uzun destek demektir
- sealed class kimin kalıt alacağını sınırlar
- pattern matching instanceof kontrolünü kısaltır
- Gradle veya Maven projenin hangi JDK ile derleneceğini seçer
Kısa örnek
Önce kurulu sürüme bak. Sonra record küçük bir veri tipini böyle yazar.
java --version
record Point(int x, int y) {}
Sık sorulan sorular
- Java 17 en yeni sürüm mü? Hayır. Daha yeni bir LTS vardır. 17 hâlâ birçok yerde hedeftir.
- Java 17 ve Java dili ayrı mı? Hayır. 17 dilin bir sürümüdür.
- Android için Java 17 yeter mi? Derleme aracı izin veriyorsa evet. Bunu projenin Gradle dosyası gösterir.