Af Aksel Brinck, Alt om Data
Denne artikel er oprindeligt bragt på Alt om Data. Computerworld overtog i november 2022 Alt om Data. Du kan læse mere om overtagelsen her.
Sun Microsystems lancerede programmeringssproget Java for snart 30 år siden i 1995. Men det er stadig et af verdens mest populære.
Ifølge Pypl-indekset er det nummer to på Google-søgninger lige efter kometen Python. Populariteten skyldes blandt andet, at Java er objektorienteret, deler syntaks med C og C++ og er simpelt og let at lære.
Tusindvis af ændringer
Nu kommer version 18 af programmeringssproget, som især bruges til applikationsudvikling. Ifølge Oracle, som ejer Java-koden og -brandet i dag, indeholder Java 18 (Oracle JDK 18) tusindvis af forbedringer, som gavner ydelsen, stabiliteten og sikkerheden - heriblandt ni forbedringer af platformen, der forbedrer udviklernes produktivitet.
Det seneste JDK (Java Development Kit) indeholder opdateringer og forbedringer med ni JEP'er (JDK Enhancement Proposals). Man kan tilføje kodestykker i dokumentationen til Java API (JEP 413), som forenkler tilføjelse af eksempelkildekode i API-dokumentation, samt Simple Web Server (JEP 408) til prototyper og test.
Udviklere kan også udforske to moduler, som er på trapperne: Vector API (JEP 417) og Foreign Function and Memory API (JEP 419) samt en eksempelvisningsfunktion: Pattern Matching for Switch (JEP 420).
En kadence på seks måneder
"Frigivelsen af Java 18 demonstrerer Oracles fortsatte fokus på at give virksomheder og udviklere hurtigere adgang til forbedringer med et interval på seks måneder mellem funktionsreleases," udtaler Georges Saab, som er Vice President of Development i Java Platform Group hos Oracle.
"Java-udviklere ønsker løbende innovation med moderne funktioner i programmeringssprog, en bedre udvikleroplevelse, cloud-styrede tjenester og stabilitet," siger James Governor, principal analyst hos RedMonk.
"Med Javas konsistente seks-måneders release-kadence opfylder Oracle disse behov og hjælper med at holde Java relevant til moderne applikationer og arbejdsbelastninger".
Java 18 er den seneste release under Javas seks-måneders release-kadence og er resultatet af et samarbejde mellem Oracle-udviklere og andre medlemmer af det globale Java-udviklerfællesskab via OpenJDK Project og JCP (Java Community Process), oplyser Oracle.
Her er et overblik over de vigtigste ændringer i Java 18:
Opdateringer og forbedringer af biblioteker
• JEP 400: UTF-8 by default - angiver UTF-8 som standardtegnsættet for standard-API'erne i Java. Med denne ændring vil API'er, der afhænger af standardtegnsættet, fungere ens på tværs af alle implementeringer, operativsystemer, landestandarder og konfigurationer.
• JEP 408: Simple Web Server - et kommandolinjeværktøj og en API til start af en minimal webserver, der kun bruges til statiske filer. Dette værktøj vil være nyttigt til prototyper, ad hoc-kodning og testformål, især i uddannelsesmæssige sammenhænge.
• JEP 416: Reimplement Core Reflection with Method Handles - Genimplementerer java.lang.reflect.Method, Constructor og Field oven på java.lang.invoke-metode-handles. Ved at gøre metode-handles til den underliggende mekanisme til refleksion reduceres vedligeholdelses- og udviklingsomkostningerne til API'erne java.lang.reflect og java.lang.invoke.
• JEP 418: Internet-Address Resolution SPI - Definerer et serviceudbyderinterface (SPI) til opløsning af værtsnavne og adresser, så java.net.InetAddress kan gøre brug af andre fortolkere end platformens indbyggede fortolker.
Værktøjer
• JEP 413: JEP Code Snippets in Java API Documentation - introducerer tagget @snippet til JavaDocs standard-doclet for at forenkle indsættelse af eksempelkildekode i API-dokumentation.
Forhåndsvisning og moduler på trapperne til senere JDK-releases
• JEP 417: Vector API (Third Incubator) - indeholder en API, der pålideligt lader udviklere udnytte CPU-arkitekturer, som indeholder skalerbare vektorudvidelser. Dette giver en overlegen performance sammenlignet med tilsvarende beregninger på ikke-udvidede processorer.
• JEP 419: Foreign Function and Memory API (Second Incubator) - Gør det muligt for Java-programmer at fungere sammen med kode og data uden for Java-runtime. Ved effektivt at aktivere fremmede funktioner (dvs. kode uden for JVM) og ved sikker adgang til fremmed hukommelse (dvs. hukommelse, der ikke håndteres af JVM) gør API'en det muligt for Java-programmer at kalde oprindelige biblioteker og behandle oprindelige data uden JNI's skrøbelighed og faldgruber.
• JEP 420: Pattern Matching for Switch (Second Preview) - Forbedrer Java-programmeringssproget med mønstermatchning til switch-udtryk og -sætninger og indeholder udvidelser af mønstersproget. Udvidelse af mønstermatchning til switch gør det muligt at teste et udtryk mod et antal mønstre, som hver har en bestemt handling, så komplekse dataorienterede forespørgsler kan udtrykkes præcist og sikkert.
Fremtidssikring af Java-programmer
• JEP 421: Deprecate Finalization for Removal - Afslutning forbliver indtil videre aktiveret som standard, men dette kan deaktiveres i forbindelse med test. I en kommende release vil det blive deaktiveret som standard, og i en senere release vil det blive fjernet. Vedligeholdere af biblioteker og applikationer, der er afhængige af afslutning, bør overveje at migrere til andre ressourcestyringsteknikker, for eksempel try-with-resources-sætningen og oprydningsfunktioner.
///
Er du bidt af at programmere – synes du, det er sjovt og kreativt?
Magasinet AOD har masser af stof om programmering og programmeringssprog.
Få et nyt magasin hver tredje uge med tests og indsigtsartikler