Hiç, en sevdiğiniz programlama dilinin tozlu raflarda biriken eski bir alet gibi sessizce geçerliliğini yitirdiğini düşündünüz mü? Java 26 az önce çıktı ve değil eskidiğini, dijital çağın yeni perdesi için kendini baştan yarattığını söylüyor. Bu sadece bir sürüm güncellemesi değil; köklü bir platform değişiminin habercisi, yüzeye yayılan sessiz bir titreme gibi. Konuştuğumuz şey, Java applet’lerinin—evet, o applet’lerin—kesin olarak tarihe karışması ve HTTP/3 desteğinin temelden entegre edilmesi. Bunları sindirmek zaman alacak, ama açıkçası heyecan verici.
Java’nın acımasız altı aylık yayın takvimi, hala kurumsal istikrarla özdeşleşen bir dil için şaşırtıcı derecede hızlı bir tempoda devam ediyor. Geçtiğimiz Eylül ayında çıkan Java 25 bir LTS (Uzun Süreli Destek) sürümüydü; Java 26 ise Mart 2026’daki yerine bir LTS adayı olarak değil, hayati bir basamak taşı olarak yerleşiyor. Ve özellik sayısı öncülünden daha az görünse de—ki bu durumu sürüm notlarında bir gülümseme emojisiyle şakayla karışık kabul ediyorlar—değişikliklerin kalitesi asıl büyüyü oluşturuyor.
Final Alanın İlginç Hikayesi
final alanlardan bahsedelim. Yıllardır dokunulmazlık için baştan çıkarıcı bir vaat oldular, bir kere atandığında asla değişmeyeceğine dair derleyiciyle yapılan bir anlaşma gibi. Ama sonra reflection çıktı, o güçlü, biraz tehlikeli araç, geliştiricilerin perde arkasını görmesine ve evet, o sözde final değerleri bile değiştirmesine izin verdi. Bu, sessiz bir tutarsızlık yarattı: dil bir şey vaat ediyordu, ancak bir boşluk başkasına izin veriyordu.
Bu sadece akademik bir tartışma değildi. Bir performans darboğazıydı. Derleyicinin bir değerin gerçekten sabit olduğundan emin olamadığı bir kodda optimizasyon yapmaya çalıştığınızı düşünün. Sabit katlama (constant folding), temel bir optimizasyon, imkansız hale geliyordu. Java 26, JEP 491 aracılığıyla bu boşluğu sistematik olarak kapatmaya başlıyor. Bu kasıtlı, aşamalı bir yaklaşım. Şimdilik uyarılar alacaksınız. Gelecekte mi? Bir istisna. Bu klasik Java: geliştiricileri nazikçe, sonra da sıkıca daha tutarlı ve optimize edilmiş bir geleceğe yönlendirmek. Eşgörünmez ama güvenlik ağı olan bir antrenman tekerleğinin çıkması gibi.
Applet’ler: Dokuz Yıllık Veda Turu
Ve sonra applet’ler var. Hatırlıyor musunuz? 90’ların sonlarında yaklaşık beş dakika boyunca geleceğin kendisi gibi hissettiren o tarayıcıya gömülü Java uygulamalarını? İşte Java 26 nihayet kapıyı sertçe çarpıyor. Bu bir sürpriz değil; titizlikle planlanmış dokuz yıllık bir aşamalı kaldırma sürecinin doruk noktası. JDK 9’da (2017) kullanımdan kaldırıldı, JDK 11’de (2018) applet görüntüleyici kaldırıldı, JDK 17’de (2020) forRemoval=true olarak işaretlendi ve ardından applet güvenliği için elzem olan SecurityManager JDK 24’te (2024) yok oldu. Şimdi, 2026’da, Java 26 onları resmen JDK’dan siliyor. Sessiz ama önemli bir an, son eserin kataloglanıp saklanmasıyla sona eren dijital bir arkeoloji kazısı. Belki de asla tam olarak anlaşılmadılar, ama ayrılışları Java’nın modern web’e odaklandığının sinyalini veriyor.
Applet API’sini kaldırma çabaları başladıktan dokuz yıl sonra, bu hikaye mantıksal sonucuna ulaştı! Daha 33 yaşına bile basmamışlardı… Çok çabuk gittiler, asla tam olarak anlaşılmadılar.
HTTP/3: Web’in Yeni Süper Otoyolu
Ancak Java sadece veda etmekle kalmıyor; yeniyi kucaklıyor. Ve web iletişimi dünyasında, yeninin adı HTTP/3. Web sunucularının üçte birinden fazlası zaten desteklese de, Java’nın HttpClient‘ına (Java 11’de HttpUrlConnection‘ın modern bir alternatifi olarak tanıtıldı) entegrasyonu bir eklemeden çok bir zorunluluk gibi hissettiriyor. JEP 487, bu son teknoloji protokolü standart kütüphaneye getiriyor. Bu neden önemli? Daha hızlı bağlantılar, daha güvenilir veri akışı ve yıllardır web performansını baltalayan ‘head-of-line blocking’ sorunlarının ortadan kalktığını düşünün. Tek şeritli bir köy yolundan çok şeritli, fiber optik bir süper otoyola geçmek gibi. Basit bir bayrakla (HttpClient.Version.HTTP_3) etkinleştiriyorsunuz ve sunucu hazır değilse Java bağlantıyı zarifçe düşürüyor. Akıllıca. O kadar akıllıca ki, neden bu kadar uzun sürdüğünü sorgulatıyor.
Gecikmeli Sabitlerin Geri Dönüşü (Önizleme)
Bu öne çıkan özelliklerin ötesinde, Java 26 geliştirici deneyimini iyileştirmeye devam ediyor. JEP 502’nin önizlemesi, “Kararlı Değerler,