Press Release

Oracle udgiver Java 17

Nyeste udgave af Java indeholder tusindvis af opdateringer, der forbedrer sproget og platformen yderligere for at hjælpe udviklere med at blive mere produktive. Oracle JDK 17 giver kunderne sikkerheds-, ydelses- og fejlrettelsesopdateringer frem til september 2029

Austin, Texas—14. september 2021
Java 17

Oracle annoncerede i dag tilgængeligheden af Java 17, den nyeste version af verdens førende programmeringssprog og udviklingsplatform. Java 17 indeholder tusindvis af opdateringer inden for ydeevne, stabilitet og sikkerhed samt 14 JEP'er (JDK Enhancement Proposals), der yderligere forbedrer Java-sproget og -platformen for at hjælpe udviklere med at blive mere produktive.

Java 17 er den seneste LTS-udgave (Long Term Support) i henhold til Javas halvårlige udgivelseskadence og er resultatet af et omfattende samarbejde mellem Oracles ingeniører og andre medlemmer af det verdensomspændende Java-udviklerfællesskab via OpenJDK Community og Java Community Process (JCP). Siden den forrige JDK 11 LTS udkom for tre år siden, er der blevet implementeret over 70 JEP'er.

 

Tilbud om en enklere licens

Oracle JDK 17 og fremtidige JDK-udgivelser leveres som en gratis licens til brug indtil et helt år efter den næste LTS-udgivelse. Oracle vil også fortsætte med at levere Oracle OpenJDK-udgivelser under Open Source General Public License (GPL), som det har været tilfældet siden 2017.

 

Forbedring af den langsigtede support for kunderne

Oracle samarbejder med Java-udviklermiljøet og JCP om at forbedre LTS-planlægningen for at give organisationer større fleksibilitet med hensyn til, hvornår eller om de ønsker at migrere til en nyere Java LTS-version. Oracle foreslår, at den næste LTS-udgave skal være Java 21 og gøres tilgængelig i september 2023, hvilket vil ændre den løbende LTS-udgivelseskadence fra tre år til to år.

Med støtte fra Oracle LTS- og Java SE-abonnementet kan kunderne migrere til Java 17 i det tempo, der passer bedst til deres behov. Oracle vil give kunderne sikkerheds-, ydelses- og fejlrettelsesopdateringer til Java 17 frem til mindst september 2029.

"I løbet af de sidste tre år har vi hørt, hvor meget udviklerne er glade for de nyeste funktioner, og vi har set økosystemet virkelig tage den seksmånedlige udgivelseskadence til sig," siger Georges Saab, vice president of development, Java Platform Group, Oracle. "En af de største udfordringer for Java-udviklere i dag er, at deres organisation kun tillader dem at bruge den seneste LTS-udgave. Ved at flytte LTS-udgivelserne til hvert andet år har udviklere, der er i konservative organisationer, nu flere valgmuligheder og adgang til de funktioner, som de elsker og ønsker at bruge."

"Oracle foretager ændringer, der vil gavne Java-fællesskabet betydeligt ved at flytte de langsigtede supportudgivelser til en toårig kadence og indføre en ny, mere afslappet licens, der giver fri produktionsbrug af Oracle JDK i længere tid," siger Dr. Arnal Dayaratna, Research Vice President, Software Development hos IDC. "Disse ændringer vil give organisationer større fleksibilitet i håndteringen af kompleksiteten af moderne applikationsudvikling og implementeringer i skyen, on premises og i hybride miljøer."

 

Fremskyndelse af Javas udbredelse i skyen

Java er en af de mest succesfulde udviklingsplatforme nogensinde og er bygget på løbende innovation, der imødekommer udviklernes skiftende behov. For at fremskynde Javas udbredelse i skyen introducerede Oracle for nylig Oracle Java Management Service, en ny Oracle Cloud Infrastructure (OCI)-nativ tjeneste, der hjælper organisationer med at administrere Java runtimes og applikationer on-premises eller i en hvilken som helst sky.

Java Management Service giver kunderne overblik over deres Java-implementeringer på tværs af virksomheden. Dette omfatter alle de Java-versioner, der er installeret i deres miljø, herunder versioner af Java, der kører i udvikling og i produktion. Den fremhæver også eventuelle uplanlagte Java-applikationer, der kører, og kontrollerer, om alle installerede Java-versioner er opdaterede med de seneste sikkerhedsrettelser.

JDK 17 indeholder nye sprogforbedringer, opdateringer af bibliotekerne, understøttelse af nye Apple-computere, fjernelse og forældelse af gamle funktioner og arbejde, der sikrer, at Java-kode, der er skrevet i dag, fortsat vil fungere uden ændringer i fremtidige JDK-versioner. Den tilbyder også en forhåndsvisning af sprogfunktioner og inkubations-API'er for at indsamle feedback fra Java-fællesskabet.

Opdateringerne omfatter (på engelsk):

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