Java 18 kullanıma hazır!
![](https://www.bthaber.com/wp-content/uploads/2022/03/java.jpg)
![](https://www.bthaber.com/wp-content/uploads/2022/03/java.jpg)
Oracle, dünyanın bir numaralı programlama dili ve geliştirme platformunun en son sürümü olan Java 18’in kullanıma sunulduğunu duyurdu. Java 18 (Oracle JDK 18), platformda geliştirici verimliliğini artıracak dokuz iyileştirmenin yanı sıra binlerce performans, kararlılık ve güvenlik geliştirmesi sunuyor.
En yeni Java Geliştirme Paketi (JDK) içerisinde güncellemeler ve iyileştirmelerle beraber dokuz adet JDK Geliştirme Önerisi (JEP) de bulunuyor. API belgelerine örnek kaynak kodunun eklenmesini kolaylaştıran Java API Belgelerinde Kod Parçası (JEP 413) ekleme özelliği ve prototip oluşturma ve test etme işlemleri için Basit Web Sunucusu (JEP 408) özelliği de bunlara dahildir. Geliştiriciler iki farklı inkübatör modülünü inceleyebilir: Vektör API’si (JEP 417) ve Yabancı Fonksiyon ve Bellek API’si (JEP 419). Bunlarla beraber önizleme özelliği de sunuluyor: Anahtar için Düzen Eşleştirme (JEP 420).
Java’nın bulut geçişine hız veriliyor
Oracle kısa süre önce, Java çalıştırma zamanlarını ve kuruluş içi ya da herhangi bir bulut üzerindeki uygulamaları yönetmeyi kolaylaştıran yeni bir Oracle Bulut Altyapısı (OCI) yerel hizmeti olan Java Yönetim Hizmeti’ni (JMS) piyasaya sürdü. JMS, kuruluş genelinde Java dağıtımlarını yönetmek için gereken bilgileri sağlar. Java Yönetim Hizmeti, OCI iş yükleri ve Java SE Aboneliği’ne dahil.
Java 18, Java’nın altı aylık sürüm temposu dahilinde yayınlanan en son sürümüdür. OpenJDK Projesi ve Java Topluluğu Süreci (JCP) aracılığıyla Oracle mühendisleri ve dünya çapında Java geliştirici topluluğunun üyelerinin kapsamlı iş birliğinin ürünüdür. Böylece sürekli inovasyon akışı devam ederken Java’nın her boyuttan kuruluş ve sektör genelinde daha yaygın hale gelmesini sağlayacak performans, kararlılık ve güvenlik iyileştirmeleri sunulmaya devam ediliyor. Java 18 ile gelen en büyük değişiklikler şöyle:
Kitaplıklardaki Güncellemeler ve Geliştirmeler
• JEP 400: Öndeğer olarak UTF-8 – UTF-8 öğesini standart Java API’lerinin karakter kümesi öndeğeri olarak ayarlar. Bu değişiklikle karakter kümesi öndeğerine bağlı API’ler; tüm uygulama, işletim sistemi, yerel ayar ve konfigürasyonlar genelinde tutarlı şekilde davranır.
• JEP 408: Basit Web Sunucusu: sadece statik dosya getiren basit bir web sunucusu başlatmak için komut satırı aracı ve API’si. Bu araç özellikle eğitim içeriği olarak prototip oluşturma, özel amaçlı kodlama ve test etme konusunda yararlı olacaktır.
• JEP 416:Yöntem Tanıtıcılarla Temel Yansımayı Yeniden Uygula: java.lang.invoke ile beraber java.lang.reflect.Method, Yapılandırıcı ve Alan yöntem tanıtıcılarını yeniden uygular. Yöntem tanıtıcılarını yansımada temel alınan mekanizma haline getirerek java.lang.reflect ve java.lang.invoke API’lerinin bakım ve geliştirme maliyetlerini azaltır.
• JEP 418: İnternet Adresi Çözünürlüğü için SPI: Ana bilgisayar adı ve adres çözünürlüğü için bir hizmet sağlayıcı arayüzü (SPI) tanımlar, böylece java.net.InetAddress, platformun yerleşik çözümleyicisi dışında çözümleyicilerden de yararlanabilir.
Araçlar
• JEP 413: Java API Belgelerinde JEP Kod Parçası:API belgelerine örnek kaynak kodunun dahil edilmesini kolaylaştırmak için JavaDoc Standart Özet Dokümanına yönelik @snippet etiketini kullanıma sunuyor.
Sonraki JDK Sürümleri için Önizleme ve İnkübatörler
• JEP 417: Vektör API’si (Üçüncü İnkübatör): Geliştiricilere, ölçeklenebilir vektör uzantıları sağlayan CPU mimarilerinden güvenilir şekilde yararlanabileceği bir API sunar. Böylece genişletilmemiş işlemcilerdeki eşdeğer hesaplamalarla karşılaştırıldığında üstün performansa yol açar.
• JEP 419: Yabancı Fonksiyon ve Bellek API’si (İkinci İnkübatör): Java programlarının Java çalıştırma zamanı dışındaki kod ve verilerle birlikte çalışmasına olanak tanır. Bu API, yabancı fonksiyonları (JVM dışındaki kodları) etkili şekilde çağırıp yabancı (JVM tarafından yönetilmeyen) belleğe güvenle erişerek Java programlarının yerel kitaplıkları çağırmasına ve JNI’nin hassaslığı ya da tehlikeleriyle uğraşmadan yerel verileri işlemesine olanak tanır.
• JEP 420: Anahtar için Düzen Eşleştirme (İkinci Önizleme): Java programlama dilini, anahtar ifadeler ve deyimler için düzen eşleştirme özelliğiyle ve düzen dili uzantılarıyla zenginleştirir. Geçiş yapmak için düzen eşleştirmenin genişletilmesi, bir ifadenin her biri belirli bir eyleme sahip bir dizi düzene karşı test edilmesini sağlayarak karmaşık veriye odaklı sorguların kesin ve güvenli bir şekilde ortaya konmasına olanak tanır.
Geleceği Garanti Altına Alan Java Programları
• JEP 421: Kaldırma İşleminde Sonlandırmayı Kullanım Dışı Bırakma: Sonlandırma şimdilik öndeğer olarak etkin kalır ancak testi kolaylaştırmak için devre dışı bırakılabilir. Gelecek sürümlerde öndeğer olarak devre dışı bırakılacak ve daha sonraki sürümlerde kaldırılacaktır. Sonlandırmaya dayalı kitaplık ve uygulamaların bakımcıları try-with-resources komutu ve temizleyici gibi diğer kaynak yönetimi tekniklerine geçişi seçenekleri arasına almalıdır.