Java SE 15 tatalaina

Ina ua maeʻa le ono masina o atinaʻe, Oracle tatalaina tulaga JavaSE 15 (Java Platform, Standard Edition 15), o le open-source OpenJDK project o loʻo faʻaaogaina e fai ma faʻamatalaga faʻatinoga. Java SE 15 o loʻo faʻatumauina le fesoʻotaʻiga i tua ma faʻasalalauga muamua o le Java platform; o galuega uma Java na tusia muamua o le a galue e aunoa ma ni suiga pe a faʻatautaia i lalo o le lomiga fou. Sauni-e fa'apipi'i Java SE 15 fausia (JDK, JRE ma Server JRE) saunia mo Linux (x86_64), Windows ma macOS. Fa'atinoga fa'asino na fa'atupuina e le poloketi OpenJDK Java 15 o lo'o tatala atoatoa le puna i lalo ole laisene GPLv2, fa'atasi ai ma GNU ClassPath tuusaunoaga e mafai ai ona feso'ota'i malosi ma oloa fa'apisinisi.

Java SE 15 ua faʻavasegaina o se faʻasalalauga lagolago lautele ma o le a faʻaauau pea ona maua faʻamatalaga seia oʻo i le isi faʻasalalauga. Ole lala ole Long Term Support (LTS) e tatau ona Java SE 11, lea o le a faʻaauau pea ona maua faʻamatalaga seia oʻo i le 2026. O le lala LTS muamua o Java 8 o le a lagolagoina seia oʻo ia Tesema 2020. O le isi faʻasalalauga LTS ua faʻatulagaina mo Setema 2021. Sei matou faamanatu atu ia te oe e amata i le tatalaina o le Java 10, o le poloketi na suia i se faiga fou o le atinaʻe, e faʻaalia ai se taamilosaga puupuu mo le faʻavaeina o faʻasalalauga fou. O lo'o fa'atupuina nei galuega fou i se tasi o paranesi fa'afou fa'afou, lea e aofia ai suiga ua uma ona fai ma o lala e fa'aputuina i le ta'i ono masina e fa'amautu ai fa'asalalauga fou.

Mai mea fou Java 15 mafai ia matau:

  • Ua fausia i totonu lagolago mo le EdDSA (Edwards-Curve Digital Signature Algorithm) fa'afuainumera saini fatu algorithm RFC 8032). O le fa'atinoina o le EdDSA e le fa'alagolago i luga o masini fa'apipi'i, e puipuia mai osofa'iga i le itu-auala (fa'amautinoa le taimi faifaipea o fa'atusatusaga uma) ma e sili atu le saoasaoa i le fa'atinoga nai lo le fa'atinoga o le ECDSA o lo'o tusia i le gagana C, ma le tulaga tutusa o le puipuiga. Mo se faʻataʻitaʻiga, o le EdDSA o loʻo faʻaogaina le elliptic curve ma le 126-bit key o loʻo faʻaalia foliga tutusa i le ECDSA ma le secp256r1 elliptic curve ma le 128-bit key.
  • Faaopoopo lagolago faʻataʻitaʻiga mo vasega faʻamaufaʻailoga ma fesoʻotaʻiga, lea e le mafai ona faʻaogaina e isi vasega ma fesoʻotaʻiga e faʻatoʻilaloina, faʻalautele, pe faʻamalo le faʻatinoga. O vasega fa'amaufa'ailoga e maua ai fo'i se auala e sili atu ona fa'ailoa e fa'atapula'aina ai le fa'aogaina o se superclass nai lo le fa'aogaina o suiga, fa'avae i luga o le lisi manino o vasega laiti fa'atagaina mo fa'aopoopoga.

    afifi com.example.geometry;

    vasega fa'amaufa'ailoga lautele Fa'atusa
    faataga com.example.polar.Circle,
    com.example.quad.Rectangle,
    com.example.quad.simple.Square {…}

  • Faaopoopo lagolago mo vasega natia e le mafai ona faʻaogaina saʻo e le bytecode o isi vasega. O le faʻamoemoe autu o vasega natia o le faʻaaogaina lea i faʻatulagaga e faʻamalosia ai vasega i le taimi faʻaoga ma faʻaoga le tuusao, e ala i mafaufauga. O ia vasega e masani lava ona fa'atapula'aina le taamilosaga o le olaga, o lea o le fa'atumauina o latou mo le avanoa mai vasega fa'atupu fa'asolosolo e le fa'amaonia ma o le a na'o le fa'ateleina o le taumafaina manatua. O vasega natia fo'i ua fa'ate'aina ai le mana'oga mo le API e le masani ai sun.misc.Unsafe::defineAnonymousClass, lea ua fa'atulaga e aveese i le lumana'i.
  • O le ZGC (Z Garbage Collector) lapisi ua fa'amautu ma ua iloa ua sauni mo le fa'aogaina lautele. O le ZGC o lo'o fa'agaoioia i le pa'u, fa'aiti'itia le taofiofia ona o le aoina o lapisi i le tele e mafai ai (taimi tu'u pe a fa'aaoga le ZGC e le sili atu i le 10 ms.) ma e mafai ona galue i faupu'ega laiti ma tetele, e amata mai i le selau megabytes i le tele o terabytes.
  • Fa'amautu ma maua ua sauni mo le fa'aoga lautele
    tagata ao lapisi Shenandoah, galue ma ni taofi laiti (Low-Pause-Time Garbage Collector). Shenandoah na atiina ae e Red Hat ma e lauiloa mo lona faʻaogaina o se algorithm e faʻaitiitia ai le taimi faʻagata i le taimi o le aoina o lapisi e ala i le faʻamama faʻatasi ma le faʻatinoina o talosaga Java. O le tele o faʻatuai na faʻafeiloaʻi e le ao lapisi e faʻamaonia ma e le faʻalagolago i le tele o le faʻaputuga, i.e. mo faaputuga o 200 MB ma 200 GB o le tuai o le a tutusa (aua le sau i fafo i tua atu o le 50 ms ma e masani lava ile 10 ms);

  • Ua fa'amautu le lagolago ma fa'alauiloa i le gagana poloka mau - o se ituaiga fou o manoa literals e mafai ai ona e aofia ai faʻamatalaga faʻamatalaga tele-laina i le faʻailoga puna e aunoa ma le faʻaogaina o uiga e sola ese ma faʻasaoina le faʻasologa o tusitusiga i totonu o le poloka. O le poloka ua faavaa i upusii faalua e tolu.

    Mo se faʻataʻitaʻiga, nai lo le code

    String html = " » +
    "\n\t" + " » +
    "\n\t\t" + " \"Ua iai Java 1!\" » +
    "\n\t" + " » +
    "\n" + " ";

    e mafai ona e faʻamaonia:

    String html = """


    »Java 1\
    o iinei!

    """;

  • Toe fai Legacy DatagramSocket API. O faʻatinoga tuai o le java.net.DatagramSocket ma le java.net.MulticastSocket ua suia i se faʻatinoga faʻaonaponei e sili atu ona faigofie ona faʻapipiʻi ma tausia, ma e fetaui foi ma vaitafe vaʻaia ua atiaʻe i totonu o le poloketi Loom. I le tulaga e ono le fetaui ma le code o loʻo i ai, e leʻi aveesea le faʻatinoga tuai ma e mafai ona faʻaogaina le filifiliga jdk.net.usePlainDatagramSocketImpl.
  • Fa'atino fa'ata'ita'iga lona lua ua fa'ailoa mai fa'atusa fa'atusa i le "instanceof" operator, lea e mafai ai ona e vave faʻamalamalamaina se fesuiaiga i le lotoifale e maua ai le tau siaki. Mo se faʻataʻitaʻiga, e mafai ona e tusia vave "pe a (obj instanceof String s && s.length() > 5) {.. s.contains(..) ..}" e aunoa ma le faʻamalamalamaina manino "String s = (String) obj".

    Sa:

    afai (obj instanceof Group) {
    Vaega vaega = (Vaega)obj;
    var entries = group.getEntries();
    }

    Ole taimi nei e mafai ona e faia e aunoa ma le faʻamatalaga "Vaega Vaega = (Vaega) obj":

    afai (obj instanceof Group group) {
    var entries = group.getEntries();
    }

  • Fautuaina lona lua fa'ata'ita'iga fa'atinoga o le upu 'upu "faamaumauga", lea e maua ai se pepa faʻapitoa mo le faʻamalamalamaina o vasega, e mafai ai ona e aloese mai le faʻamalamalamaina manino o auala maualalo maualalo e pei o le tutusa (), hashCode () ma le toString () i mataupu e teuina ai faʻamatalaga i totonu o fanua o latou amio e le suia. Pe a faʻaaogaina e le vasega faʻataʻitaʻiga masani o le tutusa (), hashCode () ma toString () metotia, e mafai ona faia e aunoa ma a latou faʻamatalaga manino:

    faamaumauga a tagata lautele BankTransaction(LocalDate aso,
    tau faalua
    Fa'amatalaga o manoa) {}

    O lenei ta'utinoga o le a otometi lava ona fa'aopoopo fa'atinoga o le tutusa(), hashCode() ma toString() metotia fa'aopoopo i le faufale ma auala e maua ai.

  • Fautuaina se fa'aaliga lona lua o le Foreign-Memory Access API, fa'atagaina Java talosaga e fa'amautu ma fa'aoga lelei le fa'aogaina o vaega manatua i fafo atu o le fa'aputuga Java e ala i le fa'aogaina o mea fou MemorySegment, MemoryAddress, ma MemoryLayout abstractions.
  • Fa'aletonu ma fa'ate'aina le fa'aogaina o le fa'aogaina o le Biased Locking i le HotSpot JVM e fa'aitiitia ai le loka i luga. O lenei metotia ua leiloa lona taua i luga o faiga ma faʻatonuga atomika na saunia e PPU faʻaonaponei, ma ua matua faigata tele ona tausia ona o lona lavelave.
  • Faailoa atu masini tuai Fa'agaoioia RMI, lea o le a aveesea i se faʻasalalauga i le lumanaʻi. O loʻo maitauina o le RMI Activation ua tuai, tuʻuina atu i le vaega o se filifiliga i Java 8 ma e toetoe lava a le faʻaaogaina i faiga faʻaonaponei.
  • Ave'esea Javascript afi Nashorn, lea na faʻaumatia i Java SE 11.
  • Ave'esea ports mo Solaris OS ma SPARC processors (Solaris / SPARC, Solaris / x64 ma Linux / SPARC). O le aveeseina o nei ports o le a mafai ai e le alalafaga ona faʻavavevave le atinaʻeina o foliga fou OpenJDK e aunoa ma le faʻaumatia taimi e tausia ai Solaris ma SPARC faʻapitoa.

puna: opennet.ru

Faaopoopo i ai se faamatalaga