Java SE 13 väljalase

Pärast kuuekuulist arendamist Oracle vabastati platvorm JavaSE 13 (Java platvorm, standardväljaanne 13), kasutatakse avatud lähtekoodiga OpenJDK projekti viiterakendusena. Java SE 13 säilitab tagasiühilduvuse Java platvormi eelmiste väljalasetega; kõik varem kirjutatud Java projektid töötavad uue versiooniga käivitamisel muudatusteta. Installimiseks valmis Java SE 13 järgud (JDK, JRE ja Server JRE) ette valmistatud Linuxi (x86_64), Solarise, Windowsi ja macOS-i jaoks. OpenJDK projekti poolt välja töötatud viiterakendus Java 13 on GPLv2 litsentsi all täielikult avatud lähtekoodiga GNU ClassPathi erandid, mis võimaldavad dünaamilist linkimist kommertstoodetega.

Java SE 13 on klassifitseeritud üldiseks tugiväljalaseks ja sellele saadetakse värskendusi kuni järgmise väljalaskeni. Pikaajalise toe (LTS) haru peaks olema Java SE 11, mis jätkab värskenduste saamist kuni 2026. aastani. Java 8 eelmist LTS-i haru toetatakse kuni 2020. aasta detsembrini. Järgmine LTS-i väljalase on kavandatud 2021. aasta septembrisse. Tuletame meelde, et alates Java 10 väljalaskmisest läks projekt üle uuele arendusprotsessile, mis tähendab lühemat tsüklit uute väljaannete moodustamiseks. Uus funktsionaalsus on nüüd välja töötatud ühes pidevalt uuenevas põhiharus, mis sisaldab valmis muudatusi ja millest hargnevad harud iga kuue kuu tagant uute väljaannete stabiliseerimiseks. Java 14 on kavas välja anda järgmise aasta märtsis koos eelvaatega juba saadaval testimiseks.

Kohta uuendused Java 13 keegi ei saa märk:

  • Lisatud CDS-arhiivide (Class-Data Sharing) arhiivide dünaamilise lisamise tugi, pakkudes jagatud rakenduste juurdepääsu tavalistele klassidele. CDS-iga saab tavalised klassid paigutada eraldi jagatud arhiivi, mis võimaldab rakendustel kiiremini käivituda ja vähendada üldkulusid. Uus versioon lisab tööriistad klasside dünaamiliseks arhiveerimiseks pärast rakenduse täitmise lõppu. Arhiveeritud klassid hõlmavad kõiki programmi töö ajal laaditud klasse ja nendega kaasnevaid teeke, mis ei olnud algselt pakutud CDS-i baasarhiivis;
  • ZGC-le (Z prügikoguja) lisatud tugi kasutamata mälu operatsioonisüsteemi tagastamiseks;
  • Kaasatud Legacy Socket API (java.net.Socket ja java.net.ServerSocket) ümberkujundatud rakendus, mida on lihtsam hooldada ja siluda. Lisaks on kavandatud teostust lihtsam kohandada töötama uue kasutajaruumis olevate lõimede süsteemiga (kiud), mis on välja töötatud Loomi projekti raames;
  • Jätkub uue väljendivormi "lüliti" väljatöötamine. Lisatud eksperimentaalne (eelvaade) võimalus kasutada "lülitit" mitte ainult operaatori, vaid ka väljendina. Näiteks saate nüüd kasutada selliseid konstruktsioone nagu:

    int numLetters = lüliti (päev) {
    juhtum ESMASPÄEV, REEDE, PÜHAPÄEV -> 6;
    juhtum TEISIPÄEV -> 7;
    juhtum NELJAPÄEV, LAUPÄEV -> 8;
    juhtum KOLMAPÄEV -> 9;
    };

    või

    System.out.println(
    lüliti (k) {
    juhtum 1 -> "üks"
    juhtum 2 -> "kaks"
    vaikimisi -> "palju"
    }
    );

    Tulevikus selle funktsiooni põhjal on kavas rakendada mustrite sobitamise tuge;

  • Lisatud tekstiplokkide eksperimentaalne tugi – stringliteraalide uus vorm, mis võimaldab teil lähtekoodi kaasata mitmerealisi tekstiandmeid ilma tähemärki kasutamata ja plokis oleva teksti algset vormingut säilitamata. Plokk on raamitud kolme topeltjutumärgiga. Näiteks väljendi asemel

    String query = "VALI "EMP_ID", "LAST_NAME" TÖÖTAJA_TB-LT\n" +
    "KUS `LINN" = 'INDIANAPOLIS'\n" +
    "ORDER 'EMP_ID', 'LAST_NAME';\n";

    Nüüd saate konstruktsiooni kasutada:

    Stringi päring = """
    VALI 'EMP_ID', 'LAST_NAME' TÖÖTAJA_TBLT
    WHERE `CITY` = 'INDIANAPOLIS'
    ORDER `EMP_ID`, `LAST_NAME`;
    """;

  • Suletud on 2126 veateadet, millest 1454 lahendasid Oracle'i töötajad ja 671 kolmandad osapooled, millest kuuendiku muudatustest tegid sõltumatud arendajad ja ülejäänud selliste ettevõtete esindajad nagu IBM, Red Hat, Google , Loongson, Huawei, ARM ja SAP.

Java SE 13 väljalase

Allikas: opennet.ru

Lisa kommentaar