Java SE 13-release

Na zes maanden ontwikkeling is Oracle vrijgegeven het platform JavaSE 13 (Java Platform, Standard Edition 13), wordt het open-source OpenJDK-project gebruikt als referentie-implementatie. Java SE 13 onderhoudt achterwaartse compatibiliteit met eerdere releases van het Java-platform; alle eerder geschreven Java-projecten zullen zonder wijzigingen werken wanneer ze onder de nieuwe versie worden gelanceerd. Kant-en-klare Java SE 13-builds (JDK, JRE en Server JRE) bereid voor Linux (x86_64), Solaris, Windows en macOS. Referentie-implementatie ontwikkeld door het OpenJDK-project Java 13 is volledig open source onder de GPLv2-licentie, met GNU ClassPath-uitzonderingen die dynamische koppeling met commerciële producten mogelijk maken.

Java SE 13 is geclassificeerd als een algemene ondersteuningsrelease en zal updates blijven ontvangen tot de volgende release. De Long Term Support (LTS)-tak zou Java SE 11 moeten zijn, die tot 2026 updates zal blijven ontvangen. De vorige LTS-tak van Java 8 wordt ondersteund tot december 2020. De volgende LTS-release staat gepland voor september 2021. Laten we u eraan herinneren dat het project vanaf de release van Java 10 is overgestapt op een nieuw ontwikkelingsproces, wat een kortere cyclus voor de vorming van nieuwe releases inhield. Nieuwe functionaliteit wordt nu ontwikkeld in één voortdurend bijgewerkte masterbranch, die kant-en-klare wijzigingen bevat en waaruit elke zes maanden branches worden vertakt om nieuwe releases te stabiliseren. Java 14 staat gepland voor release in maart volgend jaar, met al preview-builds beschikbaar om uit te proberen.

Van innovaties Java 13 men kan mark:

  • Toegevoegd ondersteuning voor dynamische toevoeging van CDS-archieven (Class-Data Sharing), waardoor gedeelde applicatietoegang tot gemeenschappelijke klassen wordt geboden. Met CDS kunnen gemeenschappelijke klassen in een apart, gedeeld archief worden geplaatst, waardoor applicaties sneller kunnen worden gestart en de overhead wordt verminderd. De nieuwe versie voegt tools toe voor het dynamisch archiveren van klassen na het einde van de uitvoering van de applicatie. De gearchiveerde klassen omvatten alle klassen en bijbehorende bibliotheken die zijn geladen tijdens de werking van het programma en die niet in het aanvankelijk geleverde basis-CDS-archief stonden;
  • Naar de ZGC (Z Huisvuilinzamelaar) toegevoegd ondersteuning voor het retourneren van ongebruikt geheugen naar het besturingssysteem;
  • Betrokken een opnieuw ontworpen implementatie van de Legacy Socket API (java.net.Socket en java.net.ServerSocket) die eenvoudiger te onderhouden en te debuggen is. Bovendien zal de voorgestelde implementatie gemakkelijker aan te passen zijn om te werken met het nieuwe systeem van draden in de gebruikersruimte (vezels), ontwikkeld als onderdeel van het Loom-project;
  • Voortgezet ontwikkeling van een nieuwe vorm van uitdrukkingen "schakelaar". Experimentele (Preview) mogelijkheid toegevoegd om “switch” niet alleen in de vorm van een operator te gebruiken, maar ook als uitdrukking. U kunt nu bijvoorbeeld constructies gebruiken als:

    int numLetters = schakelaar (dag) {
    geval MAANDAG, VRIJDAG, ZONDAG -> 6;
    geval DINSDAG -> 7;
    geval DONDERDAG, ZATERDAG -> 8;
    geval WOENSDAG -> 9;
    };

    of

    Systeem.uit.println(
    schakelaar (k) {
    geval 1 -> "één"
    geval 2 -> "twee"
    standaard -> "veel"
    }
    );

    In de toekomst, op basis van deze functie is gepland ondersteuning voor patroonmatching implementeren;

  • Toegevoegd experimentele ondersteuning voor tekstblokken - een nieuwe vorm van letterlijke tekenreeksen waarmee u tekstgegevens van meerdere regels in uw broncode kunt opnemen zonder gebruik te maken van teken-escaping en waarbij de oorspronkelijke opmaak van de tekst in het blok behouden blijft. Het blok wordt omlijst door drie dubbele aanhalingstekens. Bijvoorbeeld in plaats van de uitdrukking

    Tekenreeksquery = "SELECT `EMP_ID`, `LAST_NAME` FROM `EMPLOYEE_TB`\n" +
    "WAAR `STAD` = 'INDIANAPOLIS'\n" +
    "BESTEL VIA `EMP_ID`, `LAST_NAME`;\n";

    Nu kunt u de constructie gebruiken:

    Tekenreeksquery = """
    SELECTEER `EMP_ID`, `LAST_NAME` VAN `WERKNEMER_TB`
    WAAR `STAD` = 'INDIANAPOLIS'
    BESTEL OP `EMP_ID`, `LAST_NAME`;
    """;

  • Er zijn 2126 bugrapporten gesloten, waarvan 1454 opgelost door medewerkers van Oracle, en 671 door derden, waarvan een zesde van de wijzigingen is aangebracht door onafhankelijke ontwikkelaars, en de rest door vertegenwoordigers van bedrijven als IBM, Red Hat, Google , Loongson, Huawei, ARM en SAP.

Java SE 13-release

Bron: opennet.ru

Voeg een reactie