XML og I/O
Mængden af nyheder i version 1.4 af Java 2 Standard Edition (J2SE 1.4) er overvældende stor, og dækker hele spektret i den virtuelle platform som udgør Java. Antallet af klasser og interfaces er vokset fra 2.130 til 2.738 fra version 1.3 til 1.4.
Der er væsentlige ændringer i den nye version, og nyhederne dækker meget bredt, lige fra et nyt nøgleord og en del nye klassebiblioteker (API'er) til forbedringer af ydelsen på en række punkter, herunder grafikrutiner.
Version 1.4 er den første udgave af Java, som er udviklet under den såkaldte Java Community Process. Sun har været kritiseret for at beholde Java som en lukket, proprietær størrelse, og for at besvare kritikken lagde Sun en del af udviklingen over i den såkaldte Java Community Process, som er en sammenslutning af en lang række firmaer og organisationer.
Denne udviklingsmetode skulle både sikre, at Sun ikke kan benytte udviklingen af Java som markedsstrategisk redskab, samtidig med at det sikres, at implementeringer af platformen er tvunget til at overholde de udstukne standarder for at fortjene det officielle Java-stempel.
XML
En længe ventet nyhed er XML-funktioner. Da XML er en teknologi i udvikling, overvejede Sun at udsende XML-klassebiblioteker ad hoc, men tre kernefunktioner er med. Det er SAX og DOM-manipulering af XML-dokumenter, som er henholdsvis event-baseret parsing og dokument-baseret parsing, samt XSLT-transformering af XML-data til nye sæt XML-data.
Input/output
Input og output har fået et nyt ekstra sæt klasser, som blot hedder New Input/output (nio). Det nye bibliotek adresserer behovet for skalerbar input/output, hvor tusinder af samtidige åbne forbindelser kan håndteres. En anden nyhed er ikke-blokerende læsning og skrivning til sockets, så der ikke længere er behov for at benytte en tråd til hver enkel socket.
På netværkssiden understøtter J2SE nu den nye IP-standard, IPv6, på platforme som Windows 2000 og Solaris 8.
Sikkerhed og GUI
Sikkerhed
De tre sikkerhedspakker JCE (Java Cryptography Extension), JSSE (Java Secure Socket Extension), og JAAS (Java Authentication and Authorization Service), som tidligere har været valgfri, er nu en del af J2SE.
JSSE-API'et er designet til at understøtte andre SSL, TLS og PKI-implementeringer end dem, der følger med. Dette er gjort for at komme uden om de amerikanske restriktioner på eksport af krypteringsteknologi, således at udviklere uden for USA også kan anvende kryptering af ubegrænset styrke. Derudover understøttes nu også Kerberos V5 autentifikation.
Grafik og brugerflade
2D-biblioteket til skærmoptegning er ifølge Sun blevet forbedret ydelsesmæssigt med op til 40 procent i forhold til J2SE 1.3. Håndteringen af GUI-systemet X Windows til Unix er forbedret radikalt, hvilket skulle gøre ydelsen ved brug af X Windows over netværk væsentlig hurtigere, for eksempel i forbindelse med tynde klienter.
I AWT-biblioteket er det nu muligt at skrive direkte til skærmen via hardware, og mus med scroll-knap er understøttet og integreret med brugerfladekomponenter, som kan scrolle. I Swing er Drag and Drop forbedret, både mellem kontroller på en form og mellem forskellige applikationer.
Java Web Start
Java Web Start, som er Suns implementering af JNLP, følger med J2SE 1.4 som standard. Der er ikke nogen forskelle i forhold til den eksisterende udgave af Java web Start, men som udvikler ved man altså, at Java Web Start er til rådighed, hvis man udvikler til afviklingsmiljøet Java Runtime Edition 1.4 (JRE1.4).
Nyt nøgleord
Et helt nyt nøgleord
Selve sproget er blevet beriget med et nyt nøgleord, assert, som benyttes i forbindelse med fejlsøgning og fejlretning. Ideen kaldes assertion og kendes fra C++, og består i at programmet afbrydes, hvis en given betingelse er opfyldt. Det kunne også blot klares med en if-then-exit konstruktion, men det smarte er, at udvikleren kan kompilere koden i versioner, hvor assert-sætningerne ignoreres, når udviklingsfasen er tilendebragt.
Regulære udtryk
Regulære udtryk er nu understøttet som en ny pakke i util.*-hierarkiet. Regulære udtryk har gået sin sejrsgang fra Perl til mange andre programmeringssprog, og det er en stærk måde at behandle tekststrenge på. Pakken er integreret med de nye karakter-baserede input/output funktioner i det nye input/output-bibliotek.
Webtjenester ved siden af
Webtjenester, som jo er tidens løsen, er ikke direkte understøttet i J2SE 1.4. Men man kan downloade Web Services Pack som understøtter SOAP, UDDI og WSDL.
Den næste version af Java har kodenavnet Tiger og kommer medio 2003. Det er ikke til at sige, hvad den vil byde på, men blandt de ting, som ikke kom med i J2SE 1.4, er for eksempel binding af XML-data og print-metoder med samme funktionalitet som C-funktionerne printf og scanf. En fuld oversigt over alle de nye funktioner findes på Suns hjemmeside, hvorfra release candidate 1 af J2SE 1.4 også kan downloades.