Lëshimi i Java SE 13

Pas gjashtë muajsh zhvillimi, kompania Oracle ka lançuar platformën Java SE 13 (Java Platform, Standard Edition 13), e cila implementim referencial përdor projektin e hapur OpenJDK. Në Java SE 13 ruhet pajtueshmëria e prapme me versionet e mëparshme të platformës Java, të gjitha projektet e mëparshme Java do të funksionojnë pa ndryshime kur ekzekutohen në versionin e ri. Ndërtesat e gatshme për instalim të Java SE 13 (JDK, JRE dhe Server JRE) janë përgatitur për Linux (x86_64), Solaris, Windows dhe macOS. Implementimi referencial i zhvilluar në kuadër të projektit OpenJDK Java 13 është plotësisht i hapur nën licencën GPLv2 me përjashtime të GNU ClassPath, që lejojnë lidhjen dinamike me produkte komerciale.

Java SE 13 është klasifikuar si një lëshim me një cikël të zakonshëm mbështetjeje, përmirësimet për të do të lëshohen deri në lëshimin e ardhshëm. Si degë me mbështetje të gjatë (LTS) duhen përdorur Java SE 11, përmirësimet e të cilit do të lëshohen deri më 2026. Degha e fundit LTS e Java 8 do të mbështetet deri në dhjetor 2020. Lëshimi i ardhshëm LTS është planifikuar për shtator 2021. Në kujtesë, që nga lëshimi i Java 10, projekti ka kaluar në një proces të ri zhvillimi, që parashikon një cikël të shkurtër krijimi të lëshimeve të reja. Funksionaliteti i ri tani zhvillohet në një degë master që përditësohet vazhdimisht, në të cilën përfshihen ndryshime të gatshme dhe nga e cila degët për stabilizimin e lëshimeve të reja shkëputen çdo gjashtë muaj. Në mars të vitit të ardhshëm është planifikuar lëshimi i Java 14, ndërtimet paraprake të të cilit tashmë janë në dispozicion janë të disponueshme për testim.

Nga novitete Java 13 mund të shënohen:

  • Shtuar mbĂ«shtetje pĂ«r shtimin dinamik tĂ« arkivave CDS (Class-Data Sharing), qĂ« sigurojnĂ« aksesin e pĂ«rbashkĂ«t tĂ« aplikacioneve nĂ« klasat e pĂ«rbashkĂ«ta. Me ndihmĂ«n e CDS klasat e pĂ«rbashkĂ«ta mund tĂ« vendosen nĂ« njĂ« arkiv tĂ« veçantĂ« tĂ« pĂ«rbashkĂ«t, gjĂ« qĂ« lehtĂ«son fillimin e aplikacioneve dhe redukton kostot operative. NĂ« kĂ«tĂ« version janĂ« shtuar mjete pĂ«r arkivimin dinamik tĂ« klasave pas pĂ«rfundimit tĂ« ekzekutimit tĂ« aplikacionit. Klasat e vendosura nĂ« arkiv pĂ«rfshijnĂ« tĂ« gjitha klasat qĂ« u ngarkuan gjatĂ« funksionimit tĂ« programit dhe bibliotekat pĂ«rkatĂ«se, tĂ« cilat mungonin nĂ« arkivin bazĂ« CDS qĂ« u ofrua fillimisht;
  • NĂ« mbledhĂ«sin e mbetjeve ZGC (Z Garbage Collector) Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r riçeljen e memories sĂ« pĂ«rdorur tek sistemi operativ;
  • E aktivizuar implementimi i riparuar i API Legacy Socket (java.net.Socket dhe java.net.ServerSocket), i cili Ă«shtĂ« mĂ« i lehtĂ« pĂ«r mbĂ«shtetje dhe gjurmim. PĂ«r mĂ« tepĂ«r, implementimi i propozuar do tĂ« jetĂ« mĂ« e lehtĂ« pĂ«r t'u adaptuar pĂ«r t'u punuar me sistemin e ri tĂ« rrjedhave nĂ« hapĂ«sirĂ«n e pĂ«rdoruesit (fibers), tĂ« zhvilluar nĂ« kuadĂ«r tĂ« projektit Loom;
  • Vazhdon zhvillimi i njĂ« forme tĂ« re tĂ« shprehjeve "switch". ËshtĂ« shtuar njĂ« mundĂ«si eksperimentale (Preview) pĂ«r tĂ« pĂ«rdorur "switch" jo vetĂ«m si operator, por gjithashtu si njĂ« shprehje. PĂ«r shembull, tani mund tĂ« pĂ«rdoren konstruksione tĂ« tilla si:

    int numLetters = switch (day) {
    case MONDAY, FRIDAY, SUNDAY -> 6;
    case TUESDAY -> 7;
    case THURSDAY, SATURDAY -> 8;
    case WEDNESDAY -> 9;
    };

    ose

    System.out.println(
    switch (k) {
    case 1 -> "one"
    case 2 -> "two"
    default -> "many"
    }
    );

    Në të ardhmen, mbi bazën e kësaj mundësie parashihet do të realizohet mbështetje për përputhjen me modele;

  • Shtuar mbĂ«shtetje eksperimentale pĂ«r blloqet tekstuale — njĂ« formĂ« e re e literalĂ«ve tĂ« stringeve, qĂ« lejon pĂ«rfshirjen e tĂ« dhĂ«nave tekstuale shumĂ«fish nĂ« kodin burimor pa pĂ«rdorur shenjat e shkĂ«putjes dhe duke ruajtur formatimin origjinal tĂ« tekstit nĂ« bllok. Kufizimi i bllokut bĂ«het me tri thonjĂ«za tĂ« dyfishta. PĂ«r shembull, nĂ« vend tĂ« shprehjes

    String query = "SELECT `EMP_ID`, `LAST_NAME` FROM `EMPLOYEE_TB`\n" +
    "WHERE `CITY` = 'INDIANAPOLIS'\n" +
    "ORDER BY `EMP_ID`, `LAST_NAME`;\n";

    tani mund të përdoret konstrukti:

    String query = """
    SELECT `EMP_ID`, `LAST_NAME` FROM `EMPLOYEE_TB`
    WHERE `CITY` = 'INDIANAPOLIS'
    ORDER BY `EMP_ID`, `LAST_NAME`;
    «»»;

  • JanĂ« mbyllur 2126 raportet e gabimeve, nga tĂ« cilat 1454 janĂ« eliminuar nga punonjĂ«sit e Oracle, ndĂ«rsa 671 nga pjesĂ«marrĂ«s tĂ« jashtĂ«m, nga tĂ« cilat njĂ« e gjashta e ndryshimeve Ă«shtĂ« bĂ«rĂ« nga zhvillues tĂ« pavarur, ndĂ«rsa pjesa tjetĂ«r nga pĂ«rfaqĂ«sues tĂ« kompanive si IBM, Red Hat, Google, Loongson, Huawei, ARM dhe SAP.

Lëshimi i Java SE 13

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster