Press Release

Oracle släpper Java 17

  • Nästa långtidsutgåva av Java innehåller tusentals uppdateringar som ytterligare förbättrar språket och plattformen för att hjälpa utvecklare att bli mer produktiva.
  • Oracle JDK 17 ger kunderna uppdateringar av säkerhet, prestanda och felrättningar fram till september 2029.
Austin, Texas—14 september 2021
Java 17

Oracle tillkännagav idag att Java 17, är tillgängligt, den senaste versionen av världens främsta programmeringsspråk och utvecklingsplattform. Java 17 innehåller tusentals prestanda-, stabilitets- och säkerhetsuppdateringar samt 14 JEPs (JDK Enhancement Proposals) som ytterligare förbättrar Javaspråket och plattformen för att hjälpa utvecklare att bli mer produktiva.

Java 17 är den senaste LTS-versionenlong-term support enligt Javas sexmånadersperiod och är resultatet av ett omfattande samarbete mellan Oracles ingenjörer och andra medlemmar av den världsomspännande Java-utvecklargruppen via OpenJDK Community och Java Community Process (JCP). Sedan den förra JDK 11 LTS släpptes för tre år sedan har över 70 JEP:er genomförts.

 

En enklare licens

Oracle JDK 17 och framtida JDK-versioner tillhandahålls under en licens som är fri att använda fram till ett helt år efter nästa LTS-version. Oracle kommer också att fortsätta att tillhandahålla Oracle OpenJDK-versioner under GPL (General Public License) med öppen källkod, vilket har skett sedan 2017.

 

Förbättrad långsiktig support för kunder

Oracle samarbetar med Java-utvecklargemenskapen och JCP för att förbättra LTS-planeringen för att ge organisationer större flexibilitet när, eller om, de vill migrera till en nyare Java LTS-version. Oracle föreslår att nästa LTS-version ska vara Java 21 och göras tillgänglig i september 2023, vilket kommer att ändra den pågående LTS-utgivningstakten från tre år till två år.

Med stöd av Oracles LTS- och Java SE-prenumeration kan kunderna migrera till Java 17 i den takt som bäst passar deras behov. Oracle kommer att förse kunderna med säkerhets-, prestanda- och felrättningsuppdateringar för Java 17 fram till åtminstone september 2029.

"Under de senaste tre åren har vi hört hur mycket utvecklare älskar de senaste funktionerna, och vi har sett hur ekosystemet verkligen har anammat den sex månader långa lanseringen", säger Georges Saab, vice president för utveckling, Java Platform Group, Oracle. "En av de största utmaningarna för Javautvecklare idag är att deras organisation endast tillåter dem att använda den senaste LTS-versionen. Genom att flytta LTS-versionerna till vartannat år har utvecklare som arbetar i konservativa organisationer nu större valmöjligheter och tillgång till de funktioner som de älskar och vill använda."

"Oracle gör förändringar som kommer att vara till stor nytta för Java-gemenskapen genom att flytta de långsiktiga supportutgåvorna till en tvåårig period och införa en ny, mer avslappnad licens som ger fri produktionsanvändning av Oracle JDK under en längre tid", säger Dr. Arnal Dayaratna, Research Vice President, Software Development på IDC. "Dessa förändringar kommer att ge organisationer större flexibilitet när det gäller att hantera komplexiteten i modern applikationsutveckling och implementering i molnet, på plats och i hybridmiljöer."

 

Snabbare användning av Java i molnet

Java är en av de mest framgångsrika utvecklingsplattformarna någonsin och bygger på kontinuerlig innovation som tillgodoser utvecklarnas föränderliga behov. För att påskynda Javas införande i molnet introducerade Oracle nyligen Oracle Java Management Service, en ny Oracle Cloud Infrastructure (OCI)-nativ tjänst som hjälper organisationer att hantera Java runtimes och applikationer på plats eller i något moln.

Java Management Service ger kunderna insyn i sina Java-installationer i hela företaget. Detta omfattar alla Java-versioner som är installerade i deras miljö, inklusive versioner av Java som körs i utveckling och produktion. Tjänsten lyfter också fram eventuella oplanerade Java-applikationer som körs och kontrollerar om alla installerade Java-versioner är uppdaterade med de senaste säkerhetspatcherna.

JDK 17 innehåller nya språkförbättringar, uppdateringar av biblioteken, stöd för nya Apple-datorer, borttagning och föråldrade funktioner och arbete för att se till att Java-kod som skrivs idag kommer att fortsätta att fungera utan ändringar i framtida JDK-versioner. Det finns också en förhandsgranskning av språkfunktioner och inkubatoriska API:er för att samla in feedback från Java-communityt.
Uppdateringarna omfattar följande (på engelska):

 

Java Language Enhancement

  • JEP 409: Sealed Classes – Sealed classes and interfaces restrict which other classes or interfaces may extend or implement them. This enhancement is yet another improvement from Project Amber, which aims to increase developer productivity by evolving the Java language.
 

Updates and Improvements to Libraries

  • JEP 306: Restore Always-Strict Floating-Point Semantics – The Java programming language and Java virtual machine originally only had strict floating-point semantics. Starting in Java 1.2, small variances in those strict semantics were allowed by default to accommodate limitations of then-current hardware architectures. Those variances are no longer helpful or necessary, so they have been removed by JEP 306.
  • JEP 356: Enhanced Pseudo-Random Number Generator – Provides new interface types and implementations for pseudorandom number generators (PRNGs). This change improves the interoperability of different PRNGs and makes it easy to request an algorithm based on requirements rather than hard coding a specific implementation.
  • JEP 382: New macOS Rendering Pipeline – Implements a Java 2D pipeline for macOS using the Apple Metal API. The new pipeline will reduce the JDK’s dependency on the deprecated Apple OpenGL API. 
 

New Platform Support

  • JEP 391: macOS AArch64 Port – Ports the JDK to the macOS/AArch64 platform. This port will allow Java applications to run natively on the new Arm 64-based Apple Silicon computers.
 

Removals and Deprecations

  • JEP 398: Deprecate the Applet API for Removal – All web-browser vendors have either removed support for Java browser plug-ins or announced plans to do so. The Applet API was deprecated, but not for removal, in Java 9 in September 2017.
  • JEP 407: Remove RMI Activation – Removes the Remote Method Invocation (RMI) Activation mechanism, while preserving the rest of RMI.
  • JEP 410: Remove the Experimental AOT and JIT Compiler – The experimental Java-based ahead-of-time (AOT) and just-in-time (JIT) compiler were experimental features that did not see much adoption. Being optional, they were already removed from JDK 16. This JEP removes these components from the JDK source code.
  • JEP 411: Deprecate the Security Manager for Removal – The Security Manager dates back to Java 1.0. It has not been the primary means of securing client-side Java code for many years, and it has rarely been used to secure server-side code. Removing it in a future release will eliminate a significant maintenance burden and enable the Java platform to move forward.
 

Future Proofing Java Programs

  • JEP 403: Strongly Encapsulate JDK Internals – It will no longer be possible to relax the strong encapsulation of internal elements via a single command-line option, as was possible in JDK 9 through JDK 16. It will still be possible to access existing internal APIs, but it will now require enumerating, as command-line parameters or JAR-file manifest attributes, each package for which encapsulation should be relaxed. This change will lead to more secure applications and fewer dependencies on non-standard, internal JDK implementation details.
 

Previews and Incubators for Later JDK Releases

  • JEP 406: Pattern Matching for switch (Preview) – Allows an expression to be tested against several patterns, each with a specific action, so that complex data-oriented queries can be expressed concisely and safely.
  • JEP 412: Foreign Function and Memory API (Incubator) – Improves incubating APIs introduced in JDK 14 and JDK 15 that enable Java programs to interoperate with code and data outside of the Java runtime. By efficiently invoking foreign functions (i.e., code outside the JVM), and by safely accessing foreign memory, these APIs enable Java programs to call native libraries and process native data without the brittleness and complexity of Java Native Interface (JNI). These APIs are being developed in Project Panama, which aims to improve the interaction between Java and non-Java code.
  • JEP 414: Vector API (Second Incubator) – Allows expressing vector computations that reliably compile at runtime to optimized vector instructions on supported CPU architectures, thereby achieving performance superior to equivalent scalar computations.
 

Additional Resources

About Oracle

Oracle offers integrated suites of applications plus secure, autonomous infrastructure in the Oracle Cloud. For more information about Oracle (NYSE: ORCL), please visit us at www.oracle.com.

Trademarks

Oracle, Java, and MySQL are registered trademarks of Oracle Corporation.

Latest Newsfeed

Oracle Chatbot
Disconnected