Oracle har tillkännagivit tillgängligheten av Java 23, den senaste versionen av världens främsta programmeringsspråk och utvecklingsplattform.
Den nya versionen innehåller 12 JDK-förbättringsförslag som hjälper utvecklare att öka produktiviteten.
Förbättringar av prestanda, stabilitet och säkerhet gör det också möjligt för organisationer att påskynda affärstillväxten.
Java 23 (Oracle JDK 23) innehåller tusentals förbättringar som hjälper utvecklare att öka produktiviteten och driva på innovation, samtidigt som plattformens prestanda, stabilitet och säkerhet stärks, vilket möjliggör snabbare affärstillväxt för organisationer.
”Java fortsätter att utvecklas för att stödja organisationers allt mer skiftande behov av modern applikationsutveckling”, säger Arnal Dayaratna, Research Vice President för Software Development på analysföretaget IDC.
”Den nya versionen gör att utvecklare kan utöka sina verktyg och öka sin produktivitet och hjälpa dem att bygga och leverera applikationer som drar nytta av banbrytande teknik som AI. Genom att var sjätte månad leverera innovativa nya funktioner fortsätter Java att hjälpa utvecklingsteamen att ge sina organisationer ett betydande mervärde.”
Förutom de nya förbättringarna och funktionerna för utvecklare ger Java 23 ett betydande värde för organisationer. Till exempel stöds Java 23 av den senaste GA från Java Management Service (JMS) – en inbyggd tjänst för Oracle Cloud Infrastructure (OCI) som tillhandahåller en enhetlig konsol och infopanel för att hjälpa organisationer att hantera Java-exekveringar och applikationer lokalt eller i valfritt moln.
Dessutom ger JMS 9.0 många användbarhetsförbättringar och Oracle JDK 23 ger fler alternativ för att finjustera och förbättra topprestanda med hjälp av Graal-kompilatorn, en dynamisk rättidighet-kompilator (JIT) skriven i Java som omvandlar bytekod till optimerad maskinkod.
Java Management Service 9.0 och Graal JIT-kompilatorn hjälper organisationer att hantera Java-applikationer och optimera topprestandan.
”De nya funktionerna i Java 23 hjälper utvecklare på alla kunskapsnivåer att öka sin produktivitet och effektivisera utvecklingen av högpresterande, säkra och skalbara applikationer”, säger Georges Saab, Senior Vice President för Oracle Java Platform and Chair, OpenJDK.
”Med en rad nya funktioner och verktyg som utformats för att hjälpa utvecklare att bygga och leverera applikationer snabbare och mer effektivt hjälper Java 23 utvecklingsteamen och deras organisationer att främja innovation och öka tillväxten.”
Java 23 innehåller förbättringar och utökningar av Java-språket, exekveringsmiljön, biblioteken och verktygen som ingår i Java Development Kit (JDK). Viktiga uppdateringar i Java 23 är:
Språkfunktioner via Project Amber
- JEP 455: Primitiva typer i mönster, instans av och växel (förhandsgranskning): Bidrar till att öka produktiviteten i Java-programmeringen genom att göra språket mer enhetligt och uttrycksfullt. Genom att hjälpa till att ta bort begränsningar som rör primitiva typer som utvecklare stöter på när de använder mönstermatchning, instans av och växel förbättrar den mönstermatchningen genom att tillåta primitiva typmönster i alla mönsterkontexter, och utökar även instanceof och växel till att fungera med alla primitiva typer.
- JEP 476: Deklarationer för modulimport (förhandsgranskning): Hjälper utvecklare att förbättra produktiviteten genom att göra det möjligt för dem att snabbt och enkelt importera alla paket som exporteras av en modul, utan att den importerande koden måste finnas i själva modulen. Detta förenklar återanvändandet av modulära bibliotek för alla utvecklare och hjälper nybörjare att enklare använda bibliotek från tredje part och grundläggande Java-klasser utan att behöva lära sig var de finns i en pakethierarki.
- JEP 477: Implicit deklarerade klasser och huvudmetoder för instanser (andra förhandsgranskningen): Hjälper till att påskynda inlärningen genom att erbjuda en smidig övergång till Java-programmering så att eleverna kan skriva sina första program utan att behöva förstå språkfunktioner som är avsedda för stora program. Som ett resultat kan lärare och instruktörer introducera koncept gradvis, och eleverna kan skriva strömlinjeformade redovisningar för program som består av en enda klass och smidigt utöka sina program med mer avancerade funktioner vartefter deras färdigheter växer. Dessutom kan erfarna Java-utvecklare skriva små program kortfattat utan att behöva använda verktyg som är utformade för större projekt.
- JEP 482: Flexibla konstruktorkroppar (andra förhandsgranskningen): Hjälper utvecklare att öka produktiviteten genom att tillåta att satser visas före ett explicit konstruktoranrop – till exempel super(..) eller detta(..). Satserna kan inte referera till instansen som är under konstruktion, men kan initiera dess fält innan en annan konstruktor anropas, vilket gör en klass mer tillförlitlig när metoder åsidosätts. Detta ger utvecklarna större frihet att uttrycka konstruktorers beteende och bevarar den befintliga garantin att konstruktorer körs uppifrån och ned under klassens instansiering.
Bibliotek
- JEP 466: Klassfils-API (förhandsgranskning): Hjälper utvecklare att förbättra produktiviteten genom att tillhandahålla ett standard-API för parsning, generering och transformering av Java-klassfiler.
- JEP 469: Vektor-API (åttonde inkubatorn): Hjälper utvecklare öka produktiviteten genom att introducera ett API för att uttrycka vektorberäkningar som tillförlitligt kompileras vid körning till vektorinstruktioner på CPU-arkitekturer som stöds. Som ett resultat kan utvecklare uppnå högre prestanda än motsvarande skalära beräkningar.
- JEP 473: Strömsamlare (förhandsgranskning): Hjälper utvecklare att öka produktiviteten genom att förbättra ström-API:t så att det har stöd för anpassade mellanliggande åtgärder, vilket gör att strömpipelines kan transformera data på sätt som inte lätt kan uppnås med de befintliga inbyggda mellanliggande åtgärderna. Genom att göra strömpipeliner mer flexibla och uttrycksfulla och tillåta anpassade mellanliggande åtgärder för att manipulera oändligt stora strömmar gör den här funktionen det möjligt för utvecklare att bli mer effektiva när de läser, skriver och underhåller Java-kod.
- JEP 480: Strukturerad samtidighet (tredje förhandsgranskningen): Hjälper utvecklare att förbättra underhållet, tillförlitligheten och observerbarheten hos flertrådskod genom att förenkla samtidig programmering via ett nytt API för strukturerad samtidighet. Genom att konsolidera grupper av relaterade uppgifter som körs i olika trådar till en enda arbetsenhet kan strukturerad samtidighet bidra till att eliminera vanliga risker som uppstår vid avbokning och avstängning, till exempel trådläckor och avbokningsfördröjningar.
- JEP 481: Värden som omfattas (tredje förhandsgranskningen): Bidrar till att öka användarvänligheten, förståelsen, prestanda och robustheten i utvecklarnas projekt genom att möjliggöra delning av oföränderliga data inom och mellan trådar.
Uppdateringar av prestanda och körtid
- JEP 474: ZGC: Generationsläge som standard: Hjälper utvecklare att öka effektiviteten genom att byta standardläget för Z Garbage Collector (ZGC) till generationsläget, vilket minskar de resurser och underhållskostnader som krävs för att stödja två olika lägen.
Verktyg
- JEP 467: Kommentarer om nedsättningsdokumentation: Hjälper utvecklare att öka effektiviteten och produktiviteten genom att göra det möjligt för Javadoc-dokumentationskommentarer att skrivas i Markdown i stället för enbart i HTML- och Javadoc-@-taggar. Genom att få möjligheten att använda Markdown-syntax i dokumentationskommentarer tillsammans med HTML-element och JavaDoc-taggar, kan utvecklare lättare skriva och läsa API-dokumentationskommentarer i källform utan att påverka tolkningen av befintliga dokumentationskommentarer negativt.
Förvaltning
- JEP 471: Tar metoderna för minnesåtkomst i sun.misc.unsafe ur bruk inför borttagning: Ger utvecklare en smidig verktygslåda genom att hjälpa dem att förstå när deras applikationer direkt eller indirekt förlitar sig på metoderna för minnesåtkomst i sun.misc.Unsafe, som planeras att tas bort i en framtida utgåva.
Java 23-versionen är ett resultat av ett kontinuerligt samarbete mellan Oracle och andra medlemmar i vår världsomspännande Java-utvecklargrupp via OpenJDK och Java Community Process (JCP). Mer information om funktionerna i Java 23 finns i det tekniska blogginlägget om Java 23.
Stöd för den globala Java-communityn med innovation i molnet
Java ger ökad prestanda, effektivitet, kostnadsbesparingar och innovation när det distribueras i molnet i OCI, vilket är ett av de första hyperskalningsmolnen som har stöd för Java 23. Genom att leverera Oracle Java SE, Oracle GraalVM och Java SE Subscription Enterprise Performance Pack utan extra kostnad för OCI hjälper Java 23 utvecklare med att bygga och distribuera applikationer som körs snabbare, bättre och med optimerad kostnadseffektivitet.
Oracle Java Universal SE Subscription är ett erbjudande som förser kunderna med förstklassig support. Det omfattar trestegsstöd för hela Java-portföljen, rättighet till GraalVM, Java SE Subscription Enterprise Performance Pack, åtkomst till de avancerade funktionerna i JMS och flexibiliteten att uppgradera i takt med företagens verksamhet. Prenumerationen hjälper IT-organisationerna att hantera komplexa frågor, minska säkerhetsriskerna och hålla nere kostnaderna.
Oracle har dessutom nyligen meddelat på Oracle CloudWorld att Oracle Code Assist från början kommer att optimeras för Java. Oracle Code Assist är en AI-kodkompanjon som gör det enklare att bygga Java-applikationer. Oracle Code Assist-tjänsten som körs i OCI är också tillgänglig för C, C++, Go, JavaScript, PL/SQL, Python, Ruby och Rust.
JavaOne kommer tillbaka 2025
Flaggskeppsevenemanget för den globala Java-communityn JavaOne återvänder till San Franciscos Bay Area under 2025. Mellan 17 och 20 mars 2025 i Redwood Shores, Kalifornien, ger JavaOne 2025 deltagarna möjlighet att höra om de senaste utvecklingarna inom Java och prata med Oracles Java-experter och branschexperter. Läs mer via blogginlägget på Inside Java här och om du är intresserad av att hålla en presentation på JavaOne hittar förfrågan om artiklar här.
Mer information om Java och dess globala ekosystem finns på:
- Dev.java: Den officiella portalen för att lära dig Java
- Inside.java: Nyheter och åsikter från medlemmarna i Java-teamet på Oracle
- Java YouTube: Den officiella Java YouTube-kanalen för Java-utbildningsvideor
Ytterligare resurser
- Ladda ned Oracle JDK 23
- Läs den tekniska bloggen för Java 23
- Titta på Java 23-livesändningen
- Läs mer om JavaOne 2025
- Läs mer om Java Management Service
- Läs mer om Oracle Java SE Universal Subscription
Artikeln är ett partnersamarbete mellan Oracle och IT Media Group. Sponsrade inlägg, native-artiklar, partnersamarbeten och kunskapssamarbeten är en del av IT Media Groups annonserbjudande. Om du har frågor kring hör av dig till sales@itmediagroup.se