Oracle heeft de beschikbaarheid van Java 23 aangekondigd, de nieuwste versie van ’s werelds populairste programmeertaal en ontwikkelplatform. Java 23 (Oracle JDK 23) brengt duizenden verbeteringen die ontwikkelaars helpen de productiviteit te verhogen en innovatie te stimuleren, terwijl verbeteringen in de prestaties, stabiliteit en beveiliging van het platform organisaties helpen om bedrijfsresultaten te versnellen.
“Java blijft evolueren om te voldoen aan de steeds diverser wordende behoeften van moderne applicatieontwikkeling binnen organisaties,” zei Arnal Dayaratna, vice-president onderzoek softwareontwikkeling bij IDC. “De nieuwe release stelt ontwikkelaars in staat om hun toolset uit te breiden en hun productiviteit te verhogen, wat hen helpt om applicaties te bouwen en te leveren die de kracht van baanbrekende technologieën, zoals AI, benutten. Door elke zes maanden innovatieve nieuwe mogelijkheden te bieden, blijft Java ontwikkelteams helpen om aanzienlijke waarde toe te voegen aan hun organisaties.”
Naast de nieuwe verbeteringen en functies voor ontwikkelaars, biedt Java 23 ook aanzienlijke waarde voor hun organisaties. Zo wordt Java 23 ondersteund door de recente GA (general availability) van Java Management Service (JMS) 9.0, een native service binnen Oracle Cloud Infrastructure (OCI) die een uniforme console en dashboard biedt om organisaties te helpen Java runtimes en applicaties te beheren, zowel on-premises als in elke cloud. Bovendien biedt JMS 9.0 veel bruikbaarheidsverbeteringen, en Oracle JDK 23 biedt meer opties om de prestaties te optimaliseren door de toevoeging van de Graal-compiler, een dynamische just-in-time (JIT) compiler geschreven in Java die bytecode omzet in geoptimaliseerde machinecode.
“De nieuwe functies in Java 23 helpen ontwikkelaars op elk niveau van expertise om hun productiviteit te verhogen en de ontwikkeling van krachtige, veilige en schaalbare applicaties te stroomlijnen,” zei Georges Saab, senior vice-president van Oracle Java Platform en voorzitter van het OpenJDK-bestuur. “Met een breed scala aan nieuwe functies en tools die zijn ontworpen om ontwikkelaars te helpen sneller en efficiënter applicaties te bouwen en te leveren, helpt Java 23 ontwikkelteams en hun organisaties om innovatie te stimuleren en bedrijfsresultaten te bevorderen.”
Java 23 levert verbeteringen en uitbreidingen:
Java 23 levert verbeteringen en uitbreidingen aan de Java-taal, runtime, bibliotheken en de tools in de Java Development Kit (JDK). Belangrijke updates in Java 23 zijn:
>JEP 455: Primitive Types in Patterns, instanceof en switch (Preview): Verhoogt de productiviteit van Java-programmeurs door de taal uniformer en expressiever te maken. Het verwijdert beperkingen met betrekking tot primitieve typen waar ontwikkelaars mee te maken krijgen bij patroonmatching, instanceof en switch. Hierdoor kunnen primitieve typepatronen in alle contexten voor patronen worden gebruikt, en wordt instanceof en switch uitgebreid om met alle primitieve typen te werken.
>JEP 476: Module Import Declarations (Preview): Verbetert de productiviteit van ontwikkelaars door hen in staat te stellen snel en eenvoudig alle pakketten te importeren die door een module worden geëxporteerd, zonder dat de importerende code zelf in een module hoeft te zitten. Dit vereenvoudigt het hergebruik van modulaire bibliotheken voor alle ontwikkelaars en helpt beginners om eenvoudiger externe bibliotheken en fundamentele Java-klassen te gebruiken zonder te hoeven leren waar deze zich in de pakkethierarchie bevinden.
>JEP 477: Implicitly Declared Classes and Instance Main Methods (Derde Preview): Versnelt het leerproces en de ontwikkeling van vaardigheden door een soepele instap te bieden voor het programmeren in Java, zodat studenten hun eerste programma’s kunnen schrijven zonder de functies te hoeven begrijpen die zijn ontworpen voor grote programma’s. Hierdoor kunnen docenten concepten geleidelijk introduceren en kunnen studenten gestroomlijnde declaraties schrijven voor programma’s met één klasse, terwijl ze hun programma’s naadloos kunnen uitbreiden met geavanceerdere functies naarmate hun vaardigheden groeien.
>JEP 482: Flexible Constructor Bodies (Tweede Preview): Verhoogt de productiviteit door toe te staan dat uitspraken vóór een expliciete constructor-aanroep worden geplaatst—zoals super(..) of this(..). Deze uitspraken kunnen geen referentie maken naar de instantie die wordt geconstrueerd, maar kunnen velden initialiseren voordat een andere constructor wordt aangeroepen, waardoor een klasse betrouwbaarder wordt wanneer methoden worden overschreven.
Bibliotheken
>JEP 466: Class-File API (Tweede Preview): Verbetert de productiviteit van ontwikkelaars door een standaard API te bieden voor het parsen, genereren en transformeren van Java-klassebestanden.
>JEP 469: Vector API (Achtste Incubator): Verhoogt de productiviteit door een API te introduceren die vectorberekeningen uitdrukt die op betrouwbare wijze op runtime worden gecompileerd tot vectorinstructies op ondersteunde CPU-architecturen.
>JEP 473: Stream Gatherers (Tweede Preview): Verhoogt de productiviteit door de Stream API uit te breiden met ondersteuning voor aangepaste tussentijdse bewerkingen, waardoor stream-pijplijnen gegevens kunnen transformeren op manieren die moeilijk te bereiken zijn met de bestaande ingebouwde tussentijdse bewerkingen.
Prestaties en runtime-updates
>JEP 474: ZGC: Generational Mode by Default: Verhoogt de efficiëntie door de standaardmodus van de Z Garbage Collector (ZGC) te wijzigen in de generatie-modus, wat de middelen en onderhoudskosten verlaagt die nodig zijn om twee verschillende modi te ondersteunen.
Tools
>JEP 467: Markdown Documentation Comments: Verhoogt de efficiëntie en productiviteit door het mogelijk te maken dat Javadoc-documentatie-opmerkingen in Markdown worden geschreven in plaats van uitsluitend in HTML en Javadoc @-tags.
Voor meer details over de features in Java 23, lees de Java 23 technical blog
Bron: https://www.oracle.com/news/announcement/oracle-releases-java-23-2024-09-17/