Java: Bir sonraki OpenJDK 24 Sürümünde Kayıt

Portakalkafa

Global Mod
Global Mod
Openjdk 24, 24 zaten 24'tür! (Kelimelerle: yirmi dört) Japs planlandı. Bu sadece sonraki sürüm numarasına uyum sağlamakla kalmaz. Bu, 2018'de geliştirme altı aylık sürüm döngüsüne dönüştürüldüğünden beri yeni bir kayıt oldu. Ve sayı daha da büyüyebilir. Çünkü sadece 5 Aralık'ta, aceleyle birinci aşama bir sonraki sürüm için donmaya başlar. Ve bu zamandan beri çok fazla JEP (JDK geliştirme önerileri) var, şu anda geliştirici için bir performans tarafından planlanan en ilginç noktalara ilk kez bakacağız. İlgili JEP aracılığıyla daha fazla ayrıntı anlaşılabilir.








EMBARC Software Consulting GmbH'de Falk Sippach her zaman katılımcılar, müşteriler ve meslektaşları hakkında tutkulu uyandırabilecek Tutku Spark'ı arıyor. Java ortamındaki çoğu çevik yazılım geliştirme projesini 15 yılı aşkın bir süredir desteklemektedir. Topluluğun aktif bir parçası olarak (Juug Darmstadt'ın ortak organizatörü), bilgilerini makalelerde, blog yayınlarında ve konferans derslerinde veya kullanıcı gruplarında paylaşmayı seviyor ve çeşitli uzman etkinliklerin organizasyonunu destekliyor. Falk @sippsack altında tweet attı.







Sonraki bir yazıda kalan özelliklere bakıyoruz. Belki de bazıları vardır. Böylece önümüzdeki iki hafta içinde ne olacağını görmek için heyecanlı olabiliriz.

JEP 485 – Stream Gakers

İki önizlemeden sonra final şimdi gerçekleştiriliyor. Java 8'de tanıtılan akış arıları artık ara işlemlerinin eklenmesini desteklemektedir. Sonuç olarak, akışlardaki veriler artık şu ana kadar birkaç sabit ara işlemden daha iyi ve optimize edilebilir. Bu nedenle, akış boruları artık daha esnek ve etkileyici bir şekilde uygulanabilir. OpenJDK ayrıca bazı yeni operasyonlar sunuyor: fold,, mapConcurrent,, scan,, windowFixed VE windowSliding. Gelecekte, takip edilmesi daha kolay.

API JEP 484 Sınıf File

İki önizlemeden sonra, Java-bystecod'un (sınıf dosyaları) analizi, üretimi ve dönüşümü için yeni standardın sonuçlandırılması da Java sanal makinesinin spesifikasyonuna dayanmaktadır. Gelecekte, tüm JDK bileşenleri bu standart arılara göç edilebilir. Sonunda, JDK geliştiricileri bu nedenle dahili kopyayı ve dolayısıyla üçüncü taraf kütüphane ASM'ye bağımlılığı kaldırabilir.

JEP 488 – Desen, istek ve anahtarda ilkel türler (ikinci önizleme)

Bu ikinci önizleme, modelin yazışmalarının genişlemesi ile ilgilidir, böylece int,, byte VE double Tüm kalıp bağlamlarında kullanılabilir, yani bir instanceof ve im switch. Sonuç olarak, geliştiricilerin daha az sınırları ve özel durumları vardır ve tür modeller bağlamında veya kayıt modellerinde bileşenler olarak ilkel ve referans veri kullanabilirler. İlk önizlemeden herhangi bir değişiklik olmadı, ancak JDK geliştiricileri daha fazla geri bildirim toplamak istiyor.

JEP 499 – Yapılandırılmış Rekabet (Dördüncü Önizleme)

Birkaç paralel hafife alındığında, yapılandırılmış rekabet, özellikle lesing ve bekleme yolunda uygulanmaya izin verir. Alternatif olarak, geliştiriciler şimdiye kadar bu amaç için paralel akışları, yürütme hizmetini veya reaktif programlamayı kullanabildiler. Basit uygulamaları gereksiz yere karmaşık hale getiren ve hatalara meyilli hale getiren çok güçlü yaklaşımlar. Yapısal Bağlantı Birimi, iş birimleri gibi, hataların tedavisini ve görevlerin iptalini ve daha fazla güvenilirlik ve gözlemlenebilirliği basitleştiren ilgili görev gruplarını ele alır. Son önizlemede değişiklik yok. Aksine, OpenJDK üreticileri “gerçek” dünyadan daha fazla geri bildirim istiyorlar.

JEP 487 – Kapsamlı Değerler (Dördüncü Önizleme)

Bir geçerlilik alanının, değişmez verilerin bir iş parçacığı içindeki ve oğul iş parçacığında çağrılarda paylaşılabilmesi ve kullanılabilmesi için tanıtılması. Açıklanan değeri anlamak daha kolaydır, ancak benzer hedefleri takip edin ThreadLocal-Varibiller. Ayrıca, özellikle sanal teller (JEP 444) ve yapılandırılmış rekabet (JEP 480) ile birlikte kullanıldıklarında, boşluk ve daha düşük zaman gereksinimi vardır. Bu sefer bir değişiklik var: yöntemler callWhere() VE runWhere() Sınıftan geldiler ScopedValue Kaldırıldı. Bununla birlikte, işlevleri yine de Clarrier sınıfının bir nesnesinden çağrılabilir, ki bu yöntem where() itibaren ScopedValue geri döndü. Bu, arıları tamamen akıcı hale getirir. İşlev call() Bu arada, prosedür iken bir sonuç sağlar run() Hiçbir şey yapmaz.

JEP 489 – Vektör API (Dokuzuncu İnkübatör)

Vektör arılar, JEP arasındaki dinozorlar ve şimdi bir inkübatör olarak dokuzuncu zamandır. Java 16'dan versiyonlarda düzenli olarak ortaya çıktı. SIMD bilgisayar mimarisinin vektör işlemcileriyle modern olanaklarının desteğidir. Tek Eğitim Çoklu Talimatları Istrui (SIMD) birçok işlemciye eşzamanlı olarak farklı verileri detaylandırmıştır. Donanım paralelleştirilmesi nedeniyle, aritmetik döngüler çabası SIMD prensibini azaltır. Uzun inkübasyon aşamasının nedeni Valhalla projesi ile koordinasyon ile ilgilidir. Tip sisteminin reformlarını (JEP 401: değer ve nesne sınıfları). Vektör FIPA'ların sonuçlandırılmasından önce, JDK geliştiricileri sınıfları değerli sınıflardaki (nesne kimliği olmadan) mevcut değere (referans türleri) göre dönüştürmek istiyorlar. Biraz zaman gerekebilir, çünkü OpenJDK 24 için değer türleri henüz yerde değildir. Ancak en azından Brian Goetz (Oracle'ın Java Dil Mimarı) 2024 yazında 10 yıl sonra uygulamaya dönüştüğünü duyurdu. Bu yüzden burada OpenJDK 25 ile ilk önizleme meydana gelebilir.



JEP 486 – Güvenlik Yöneticisini Kalıcı Olarak Devre Dışı Bırak

Güvenlik yöneticisi genellikle istemci tarafındaki (zengin istemciler, uygulama) Java kodunu korumak için kullanıldı, ancak nadiren sunucu tarafı için kullanıldı. Bakımı da pahalı. Java 17 (2021) ile kaldırılması için kullanımdan kaldırıldı. Şimdi dahili olarak genişletildi. Artık etkinleştirilemez ve Java platformunun diğer sınıfları artık buna atıfta bulunmamaktadır. Ancak, bu değişikliğin muhtemelen uygulamaların, kitapçıların ve araçların büyük çoğunluğu üzerinde hiçbir etkisi olmayacaktır. Java'nın gelecekteki sürümlerinden birinde, Güvenlik Yöneticisi API nihayet kaldırıldı.

JEP 492 – Esnek Üretici Organları (Üçüncü Önizleme)

Üreticilerde, talimatlara açık bir üretici çağrısından önce izin verilir (super() VEYA this()) belli olmak. Bu talimatlar oluşturulacak uygulamaya başvurmasa da, parametreler üst sınıfın alanlarını doğrulayabilir veya dönüştürebilir veya erişebilir. Başka bir üreticiyi çağırmadan önce alanların başlatılması, örneğin yöntemlerin üzerine yazılırsa sınıfı daha güvenilir hale getirir.

JEP 494 – İçe Aktarma Bildirileri (İkinci Önizleme)

Sonuç olarak, bir formun dışa aktarılan tüm paketleri artık Java'ya aktarılabilir. Bu, modüler kütüphanelerin yeniden kullanılmasını basitleştirir. Bu arada, içe aktarma kodunun kendisinin bir forma dahil edilmesi gerekli değildir. Bu ikinci önizlemede iki uzantı var. Bir yandan, Java.se modülünden (paketleri/sınıfları olmayan bir tür toplayıcı formu) geçiş bağımlılıkları üzerindeki kısıtlamalar Java'da iptal edildi. Temel. Sonuç olarak, şimdi bu modülün içe aktarılmasıyla birlikte tüm arıları Java'dan içe aktarabilirsiniz. Ayrıca, tür ithalat talebinin söz konusu beyanlarının (ör. import java.util.*) Önceki formun içe aktarma beyanlarını kapsar. Örneğin, java.base ve java.sql modülleri içe aktarılırsa, sınıfı kullanırken bir belirsizlik olacaktır. Date. Bunlar gibi mevcuttur java.util.Date Ve nasıl java.sql.Date. Talep üzerine yapılan beyan yoluyla import java.util.* O durumda java.util.Date kullanılmış.

JEP 495 – Basit kökenli ve örneğin ana yöntemleri (dördüncü önizleme)

Amaç, yeni başlayanların Java'yı başlatmasını ve uzman geliştiricilere küçük uygulamalar oluşturma ve kolayca yapma fırsatı sunmasını kolaylaştırmaktır. Yeni başlayanlar ve gelişmiş oyuncular, büyük programlar için tasarlanmış dilsel işlevlerle karşılaşmazlar. Bu dördüncü önizlemede geri bildirim toplanmalıdır. Java için ayrı bir lehçe sunmak amacıyla değil, mevcut Java araç zincirini korurken main-Tode (sınıf bildirimi olmadan) basit komut dosyası programları içerir. Ayrıca, yeni statik yöntemlerle varsayılan ve çıktı en kolay kullanımı vardır. print(),, println() VE readln() sınıf java.io.IO. Bu bazen işlevlerin kullanıma hazır olduğu otomatik olarak içe aktarılır.


(RME)
 
Üst