Java 5 (Tiger/Kaplan) daha yeni çıkmışken Java 6 (Mustang /Yabani At) için çalışmalar hızlandı. Java üretici ve standart kurulları daha sık yeni sürüm çıkarmakta kararlı görünüyor. Değişiklikler yeni spesifikasyonlar ve kütüphanelerle çekirdek (core) ve masaüstü (desktop)'ta var olan kütüphanelerde değişiklikleri içeriyor. Java 6 Java 5 kadar radikal değişiklik içermiyor. Daha çok Java 5'in eksiklerini ve Java 5'e yetişmeyen özellikleri içeriyor. Bundan sonra 5.1 şeklinde ara sürümler yerine 5 6 7 gibi büyük sürümler yaparak daha hızlı ilerleme sağlanması hedefleniyor.
Java 6'ya dahil edilmesi düşünülen spesifikasyonlar :
* JSR 105: XML Digital Signature
* JSR 199: Java Compiler API
* JSR 202: Java Class File Specification Update
* JSR 221: JDBC 4.0
* JSR 222: JAXB 2.0
* JSR 224: JAX-RPC 2.0
* JSR 223: Scripting for the Java Platform
* JSR 260: Javadoc Tag Update
* JSR 268: Java Smart Card I/O API
* JSR 269: Pluggable Annotation Processing API
XML Cephesi
Her sürümde daha fazla XML kütüphanesini Standart Java'ya dahil ediliyor. Bu kütüphaneler daha önce Enterprise Java'da zaten bulunmaktaydı.
XML Digital Signature
XML Digital Signature (XML Sayısal İmza) W3C (Wold-wide Web Consortium) tarafından belirlenen XML belgelerinin yetkili kişi ve yazılımlar dışındakilerin okunamasını ve değiştirilememesini sağlayan bir standart. XML document'lerinden 'signature' ( 'imza' ) üretiliyor ve belgenin değişmesi durumunda yeni belgeden üretilen imza orijinalinden farklı olacağı için değişiklik anlaşılmış oluyor. XML Signature hakkkında detaylı bilgi XML Signature Ana Sayfası'ndan ve An Introduction to XML Digital Signatures dokümanında bulunabilir.
JAXB (Java Architecture XML Binding)
JAXB (Java Architecture XML Binding - XML Bağlama Java Mimarisi) Java nesneleri ile XML document'ların arasında dönüşüm sağlamaya yarayan kütüphanedir. Nesnelerin (özellikle Java Bean'lerin) XML document'larına çevrilmesini ve XML document'larının inin (veya XML Schema'ların) Java'dan bir class olarak erişilmesini sağlıyor.
JavaTM API for XML-Based RPC (JAX-RPC) 2.0
JAX-RPC XML tabanlı protokollerin Java'da desteklenmesini sağlıyor. Özellikle SOAP (ve SOAP üzerinde kurulmuş Web Servis'leri) için bir destek var. WSDL tipleri ile Java arasında dönüşümü destekliyor. Başka bir deyişle standart Java'dan bir Web servisine bağlanılabilecek.
JDBC 4.0
JDBC 4.0 JDBC standardında çeşitli değişiklikler içeriyor. Driver'ların yönetimi Connection'ların ve URL'ler üzerinde iyileştirmeler SQL sorguları ile Java nesneleri arasında dönüşümde çeşitli kolaylıklar persistence kütüphaneleriyle JDBC arasındaki farklılıkların giderilmesi Java 5'te standart kütüphaneye dahil edilen RowSet'lerle daha sıkı bütünleşme gibi değişiklikler içeriyor.
Java Platformu ve Araçlarındaki Gelişmeler
Java platformu kendi doğal evrimini sürdürüyor.
Java Compiler API
Java Compiler API Java kaynak kodlarının Java programları tarafından derlenebilmesini sağlamak için geliştirilen bir kütüphane. Komut satırından veya bir geliştirme ortamından yapılan derleme işlemi herhangi bir uygulama tarafından da yapılabilecek.
Java Class File Specification Update
Java Class File Specification Update'i derlenmiş Java classlarında (.class dosya formatında) çeşitli değişiklikleri içeriyor. Örneğin üretilan .class'ın boyutunun büyük olması durumunda çıkan sorunlar giderilecek. Özellikle JSP Derleyicileri için bir sorun oluyor. JSP dosyaları içerisindeki HTML'le birlikte bir class haline getiriliyor. JSP dosyasının büyük olması durumunda bazı sorunlar çıkıyor.
Pluggable Annotation Processing API
Java 5'le Java diline Annotation (Not Düşme) yani class property ve method'lar bir takım açıklayıcı bilgiler koyma olanağı gelmişti. Java 6'da bu annotation'ları işleme ve değerlendirme ile ilgili bir kütüphane (Pluggable Annotation Processing API) geliyor. Bir class'ın üzerindeki notlar hem derleme hem de çalışma zamanında öğrenilebilecek.
Scripting for the Java Platform
Standart Java'ya herhangi bir scripting dilini desteklemek için alt yapı geliyor. Özellikle desteklenmesi düşünülen diller PHP ve JavaScript. Java Application Server'ların JSP'nin yanı sıra PHP'yi desteklemesi JSP ve PHP'yi 'rakip' olmaktan çıkarıp 'kardeş' haline getiriyor. PHP uygulamaları Java application derver'larında çalışabildikleri gibi Java'nın bütün kütüphanelerine erişebilecekler.
Javadoc Tag Update
Java yazılımı hakkında dokümantasyonun Java kaynak kodlarının içerisine yazılarak üretilebilmesini sağlayan Javadoc sisteminde radikal iyileştirmeler öngörülüyor. Bu gelişmelerden Java class'larına dokümantasyon yazanlar yararlanacağı gibi bir API hakkında dokümantasyon okuyanların da daha iyi anlamalarını sağlayacak. Değişiklikler :
* Method'ların ve field'ların gruplanabilmesi
* Class'ların ve paketlerin semantik (anlamlarına göre) indekslenmesi
* Bazı method türlerinin (static factory deprecated) diğerlerinden ayrılması
* Bilgiyi çeşitli görüşlere (view'lara) bölmek ve birleştirmek
* Örneklerin ortak kullanımların javadoc içine gömülebilmesi
Java Smart Card I/O API
Java 6 Smart Card'larla okuma yazma yapabilecek. (Smart Kartlar üzerindeki yonga (çip) sayesinde alışverişte para yerine yemek fişleri yerine kullabilen kredi kartı biçimindeki kartlardır.)
Java 6'daki Küçük İyileştirmeler
Java 6'da yeni kütüphaneler ve spesifikasyonlar dışında var olana kütüphanlerde de irili ufaklı bir çok değişiklik ve ekleme geliyor. Bazıları aşağıda sıralanıyor :
Çekirdek (Core)'daki Değişiklikler
File class'ına Disk'teki kullanılan ve kullanılmamış alanı bulma özelliği. CookieManager class'ıyla HTTP'ile bağlanın bir URL'e cookie yollama ve gelen cookie'leri alma. International Domain Name ve kaynak adlaırını destekleme. (Türkçe domain adları dosya ve klasör isimleri desteklenecek). Detaylı bilgi için http://java.sun.com/developer/techni.g_build39.html
Masaüstü (Desktop)'taki Değişiklikler
Swing PLAF (Pluggable Look amp; Feel)'de iyileştirme yapılıyor. Boylece swing bileşenleri Microsft Windows'un gelecek sürümü Longhorn'da sorunsuz (yerli ortam görünümünde) çalışacak. JTable'a sırlama filtreleme ve vurgulama (highlighting) JTextComponent'te doğrudan çıktı (print) yöntemi geldi. (Java 5'de JTable'a çıktı yöntemi zaten gelmişti.) JTabbedPane'de herhangi bir component kullanılabilmesi olanağı ( X işaretiyle tab'ı kapamak mümkün olacak). Uygulama açılırken bir Pop-Up Splash penceresi gösterilecek. Java programlarına System Tray'a bir ikon ekleme olanağı geliyor.
[alıntıdır]