De nieuwe versie van Java SE 18 is al uitgebracht en dit is zijn nieuws

Na zes maanden ontwikkeling Oracle heeft de release van de nieuwe versie van JavaSE 18 (Standard Edition), die het OpenJDK open source-project als referentie-implementatie gebruikt.

In deze nieuwe versie van Java SE 18 komt met uitzondering van de verwijdering van enkele verouderde functies, handhaaft compatibiliteit met eerdere versies van het Java-platform en de meeste eerder geschreven Java-projecten zullen ongewijzigd blijven werken wanneer ze met de nieuwe versie worden uitgevoerd.

Belangrijkste nieuwe features van Java SE 18

In deze nieuwe versie van Java SE 18 is de standaardcodering UTF-8. Java API's die tekengecodeerde tekstgegevens verwerken zal nu standaard UTF-8 gebruiken op alle platforms, ongeacht systeeminstellingen en regionale instellingen. Om het oude gedrag terug te geven, waarbij de codering is gekozen rekening houdend met de landinstelling van het systeem, kunt u de parameter "-Dfile.encoding=COMPAT" gebruiken.

Een andere van de veranderingen die opvalt, is hem herontworpen de java.lang.reflect API-implementatie (Core Reflection), ontworpen om informatie te verkrijgen over methoden, velden en constructors van klassen, evenals toegang tot de interne structuur van klassen. de api java.lang.reflect zelf is niet veranderd, maar wordt nu geïmplementeerd met behulp van de identifiers van de methoden die door de module worden geboden java.lang.invoke, in plaats van bytecode-generators te gebruiken. De verandering maakte het mogelijk om het onderhoud van de implementaties van te verenigen en te vergemakkelijken java.lang.reflect en java.lang.invoke.

Daarnaast wordt ook vermeld dat: de derde voorlopige implementatie van Vector API wordt voorgesteld, die functies biedt voor vectorberekeningen die worden uitgevoerd met behulp van de vectorinstructies van de x86_64- en AArch64-processors en waarmee u bewerkingen tegelijkertijd op meerdere waarden (SIMD) kunt toepassen. In tegenstelling tot de mogelijkheden van de HotSpot JIT-compiler voor automatische vectorisering van scalaire bewerkingen, is de nieuwe API stelt u in staat om vectorisatie expliciet te beheren voor parallelle gegevensverwerking.

Dat wordt ook benadrukt een SPI-interface toegevoegd (serviceproviderinterface) om hostnamen en IP-adressen op te lossen, waarmee u alternatieve resolvers in java.net.InetAddress kunt gebruiken die niet zijn gekoppeld aan de stuurprogramma's die door het besturingssysteem worden geleverd.

Aan de andere kant is voorgesteld tweede voorlopige implementatie van Foreign Function & Memory API, waarmee applicaties kunnen interageren met code en gegevens buiten de Java-runtime om. De nieuwe API maakt efficiënt aanroepen van niet-JVM-functies mogelijk y toegang tot geheugen die niet wordt beheerd door JVM. U kunt bijvoorbeeld functies uit externe gedeelde bibliotheken aanroepen en procesgegevens benaderen zonder JNI te gebruiken.

Toegevoegd een tweede experimentele implementatie van patroonherkenning in uitdrukkingen schakelaar, waarmee u flexibele sjablonen kunt gebruiken in plaats van exacte waarden in "case"-tags, die een aantal waarden tegelijk beslaan, waarvoor voorheen omslachtige reeksen van "if...else"-expressies nodig waren.

Pakket inbegrepen com.sun.net.httpserver, inclusief het jwebserver-hulpprogramma en de API van de bibliotheek met de implementatie vanaf een eenvoudige http-server om statische inhoud te leveren (CGI en servlet-achtige controllers worden niet ondersteund). De ingebouwde http-server is niet geoptimaliseerd voor workloads en ondersteunt geen toegangscontrole of authenticatie, aangezien deze primair bedoeld is voor gebruik in het ontwikkelingsproces van prototyping-, debugging- en testprojecten.

Van de andere veranderingen die opvallen:

  • JavaDoc ondersteunt de tag "@snippet» werkvoorbeelden en codefragmenten insluiten in API-documentatie, die toegankelijk is met validatietools, syntaxisaccentuering en IDE-integratie.
  • Verouderd en zal worden verwijderd in een toekomstige release, het voltooiingsmechanisme, evenals gerelateerde methoden zoals: Object.finalize(), Enum.finalize(), Runtime.runFinalization() en System.runFinalization().
  • de vuilnismannen ZGC (Z Garbage Collector), SerialGC en ParallelGC ze ondersteunen string-deduplicatie.

JavaSE 18 is geclassificeerd als een reguliere ondersteuningsrelease, met updates die vóór de volgende versie worden uitgebracht. De tak voor langetermijnondersteuning (LTS) moet Java SE 17 zijn, die tot 2029 updates zal ontvangen.

Het is belangrijk om te onthouden dat het project vanaf de Java 10-release is overgestapt op een nieuw ontwikkelingsproces, wat een kortere cyclus betekent voor het vormen van een nieuwe release. Nieuwe functionaliteit wordt nu ontwikkeld in een constant bijgewerkte master-branch, die wijzigingen bevat die al zijn voltooid en van waaruit vertakkingen elke zes maanden vertakken om nieuwe releases te stabiliseren.

Download Java SE 18

Voor degenen die geïnteresseerd zijn in het testen van deze nieuwe release, weet dat builds klaar zijn voor Linux (x86_64, AArch64), Windows (x86_64) en macOS (x86_64, AArch64) en kunnen worden verkregen via de onderstaande link.


De inhoud van het artikel voldoet aan onze principes van redactionele ethiek. Klik op om een ​​fout te melden hier.

Wees de eerste om te reageren

Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd.

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.