Java SE 19 sürümü

Altı aylık geliştirme sürecinin ardından Oracle, açık kaynaklı OpenJDK projesini referans uygulaması olarak kullanan Java SE 19'yi (Java Platform, Standard Edition 19) piyasaya sürdü. Bazı eski özelliklerin kaldırılması dışında, Java SE 19, Java platformunun önceki sürümleriyle geriye dönük uyumluluğu korur; daha önce yazılan Java projelerinin çoğu, yeni sürüm altında çalıştırıldığında değişiklik olmadan çalışacaktır. Java SE 19'nin (JDK, JRE ve Sunucu JRE) kuruluma hazır yapıları Linux (x86_64, AArch64), Windows (x86_64) ve macOS (x86_64, AArch64) için hazırlanmıştır. OpenJDK projesi tarafından geliştirilen Java 19 referans uygulaması, ticari ürünlerle dinamik bağlantıya izin veren GNU ClassPath istisnalarıyla GPLv2 lisansı altında tamamen açık kaynaktır.

Java SE 19, genel destek sürümü olarak sınıflandırılmıştır ve bir sonraki sürüme kadar güncellemeleri almaya devam edecektir. Uzun Süreli Destek (LTS) dalı, 17 yılına kadar güncelleme almaya devam edecek olan Java SE 2029 olmalıdır. Java 10'un çıkışıyla birlikte projenin yeni bir geliştirme sürecine geçtiğini, bunun da yeni sürümlerin oluşumu için daha kısa bir döngü anlamına geldiğini hatırlatalım. Yeni işlevsellik artık sürekli olarak güncellenen, hazır değişiklikleri içeren ve yeni sürümleri dengelemek için her altı ayda bir dallara ayrılan ana dalda geliştirilmektedir.

Java 19'deki yeni özellikler şunları içerir:

  • Kayıt kalıpları için ön destek önerildi ve Java 16'da sunulan kalıp eşleştirme özelliği, kayıt sınıflarının değerlerini ayrıştırmaya yönelik araçlarla genişletildi. Örneğin: Record Point(int x, int y) {} void printSum(Object o) { if (o exampleof Point(int x, int y)) { System.out.println(x+y); } }
  • Linux yapıları RISC-V mimarisi için destek sağlar.
  • Harici kitaplıklardan işlevleri çağırarak ve JVM dışındaki belleğe erişerek Java programlarının harici kod ve verilerle etkileşimini düzenlemenize olanak tanıyan FFM (Yabancı İşlev ve Bellek) API'si için ön destek eklendi.
  • Yüksek performanslı çok iş parçacıklı uygulamaların yazılmasını ve bakımını büyük ölçüde kolaylaştıran hafif iş parçacıkları olan sanal iş parçacıkları için destek eklendi.
  • Vector API'nin dördüncü bir önizlemesi önerildi; x86_64 ve AArch64 işlemcilerindeki vektör talimatları kullanılarak yürütülen vektör hesaplamaları için işlevler sağlayan ve işlemlerin aynı anda birden fazla değere (SIMD) uygulanmasına olanak tanıyan işlevler sağlandı. Skaler işlemlerin otomatik vektörleştirilmesi için HotSpot JIT derleyicisinde sağlanan yeteneklerin aksine, yeni API, paralel veri işleme için vektörleştirmenin açıkça kontrol edilmesini mümkün kılar.
  • "Anahtar" ifadelerinde kalıp eşleştirmenin üçüncü bir deneysel uygulaması eklendi; bu, "durum" etiketlerinde kesin değerlerin değil, aynı anda bir dizi değeri kapsayan esnek kalıpların kullanılmasına olanak tanıdı; bu daha önce bunun için gerekliydi. "if...else" ifadelerinin hantal zincirlerini kullanın. Nesne o = 123L; String formatlanmış = switch (o) { case Integer i -> String.format("int %d", i); case Long l -> String.format("long %d", l); case Double d -> String.format("double %f", d); case String s -> String.format("String %s", s); varsayılan -> o.toString(); };
  • Farklı iş parçacıklarında çalışan birden çok görevi tek bir blok olarak ele alarak çok iş parçacıklı uygulamaların geliştirilmesini basitleştiren, yapısal paralellik için deneysel bir API eklendi.

Kaynak: opennet.ru

Yorum ekle