Java SE 17 tatalaina

Ina ua maeʻa le ono masina o le atinaʻe, ua tuʻuina atu e Oracle le Java SE 17 (Java Platform, Standard Edition 17), lea e faʻaaogaina ai le OpenJDK open source project e fai ma faʻataʻitaʻiga. Se'i vagana ai le aveesea o nisi o vaega fa'aletonu, Java SE 17 o lo'o fa'atumauina le feso'ota'iga i tua ma fa'asalalauga muamua o le Java platform-o le tele o galuega Java na tusia muamua o le a galue pea e aunoa ma se suiga pe a fa'atautaia i lalo o le lomiga fou. Fausia fa'apipi'i o Java SE 17 (JDK, JRE, ma le Server JRE) ua saunia mo Linux (x86_64, AArch64), Windows (x86_64), ma macOS (x86_64, AArch64). Fausiaina e le OpenJDK poloketi, o le Java 17 faʻasinomaga faʻatinoga o loʻo tatala atoatoa i lalo ole laisene GPLv2 faʻatasi ai ma GNU ClassPath tuusaunoaga e faʻatagaina fesoʻotaʻiga malosi i oloa faʻatau.

Java SE 17 o loʻo faʻavasegaina o le Long Term Support (LTS), lea o le a faʻaauau pea ona maua faʻamatalaga seia oʻo i le 2029. O fa'afouga mo le Java 16 fa'alauiloa fa'aletausaga ua fa'agata. O le lala LTS muamua o Java 11 o le a lagolagoina seia oʻo i le 2026. O le isi fa'asalalauga LTS ua fa'atulaga mo Setema 2024. 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.

O foliga fou i Java 17 e aofia ai:

  • O se faʻataʻitaʻiga faʻataʻitaʻiga o le faʻatusaina o mamanu i faʻamatalaga "sui", lea e faʻatagaina ai le faʻaaogaina o tau saʻo i igoa "mataupu", ae o faʻataʻitaʻiga fetuutuunai e aofia ai se faasologa o tau i le taimi e tasi, lea na manaʻomia ai le faʻaogaina muamua. filifili o faaupuga “afai...ese”. E le gata i lea, o le "sui" o loʻo i ai le malosi e faʻatautaia ai tau NULL. Mea o = 123L; String formatted = sui (o) { case Integer i -> String.format("int %d", i); mataupu Umi l -> String.format("umi %d", l); mataupu Faalua d -> String.format("faalua %f", d); mataupu String s -> String.format("String %s", s); faaletonu -> o.toString(); };
  • Lagolago faʻamautu mo vasega faʻamaufaʻailoga ma fesoʻotaʻiga, lea e le mafai ona faʻaogaina e isi vasega ma fesoʻotaʻiga e fai ma tofi, 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 fa'alaua'itele Fa'ailoga pemita com.example.polar.Circle, com.example.quad.Rectangle, com.example.quad.simple.Square {…}
  • O loʻo tuʻuina atu se faʻaaliga lona lua o le Vector API, lea e tuʻuina atu ai galuega mo le faʻatusatusaina o vete o loʻo faʻatinoina e faʻaaoga ai faʻatonuga vector i le x86_64 ma le AArch64 processors ma faʻatagaina gaioiga e faʻaoga i le taimi e tasi i le tele o tau (SIMD). E le pei o le gafatia o loʻo tuʻuina atu i le HotSpot JIT compiler mo le auto-vectorization o faʻagaioiga scalar, o le API fou e mafai ai ona faʻatautaia manino le vectorization mo le faʻaogaina o faʻamaumauga tutusa.
  • Faʻaopoopoina se muaʻi vaʻai o le Foreign Function & Memory API, lea e faʻatagaina ai tusi talosaga e fegalegaleai ma code ma faʻamaumauga i fafo atu o le Java runtime. O le API fou e mafai ai ona e valaʻau lelei galuega e le o le JVM ma faʻaogaina le manatua e le pulea e le JVM. Mo se faʻataʻitaʻiga, e mafai ona e valaʻau galuega mai faletusi fefaʻasoaaʻi fafo ma maua faʻamatalaga faʻasologa e aunoa ma le faʻaaogaina o le JNI.
  • O le masini fa'aliliu macOS e fa'aola ai le Java 2D API, lea e fa'aola ai le Swing API, ua fa'aogaina e fa'aoga ai le Metal graphics API. O lo'o fa'aauau pea ona fa'aoga e le fa'avae macOS le OpenGL e ala i le fa'aletonu, ma o le fa'aagaagaina o le lagolago a Metal e mana'omia ai le fa'atulagaina o le "-Dsun.java2d.metal=true" ma le itiiti ifo o le fa'aogaina o le macOS 10.14.x.
  • Faʻaopoopoina se taulaga mo le macOS/AArch64 platform (Apple computers e faʻavae i luga ole Apple M1 chips). O se vaega fa'apitoa o le taulaga o le lagolago lea mo le W^X (Write XOR Execute) masini puipuia o manatuaga, lea e le mafai ai ona maua i le taimi e tasi itulau manatua mo le tusitusi ma le fa'atinoina. (e mafai ona fa'atinoina le fa'ailoga pe a uma le fa'aletonu o le tusitusi, ma le tusitusi i se itulau e manatua e na'o le taimi lava e fa'aletonu ai le fa'atinoga).
  • Toe fa'afo'i i le fa'aaogaina na'o le strictfp semantics mo fa'amatalaga fa'afefete. Lagolago mo semantics "faʻaletonu", avanoa talu mai le tatalaina o Java 1.2, ua faʻagata, e aofia ai faʻafaigofie mo le galue i luga o faiga faʻatasi ma x87 math coprocessors tuai (ina ua uma le oʻo mai o faatonuga SSE2, ua mou atu le manaʻomia mo semantics faaopoopo).
  • O ituaiga fou o fesoʻotaʻiga i pseudorandom numera generator ua faʻatinoina, ma faʻaopoopo algorithms ua faʻatinoina mo le sili atu o le gaosiga o numera faʻafuaseʻi. O talosaga e tuʻuina atu le avanoa e filifili ai se algorithm mo le fausiaina o numera pseudorandom. Fa'aleleia atili le lagolago mo le fa'atupuina o vaitafe mea fa'apitoa.
  • Fa'amalosia le fa'apipi'iina o tagata uma i totonu o le JDK, se'i vagana ai API fa'alavelave e pei o le sun.misc.Unsafe. Fa'asa'o fa'apipi'i poloka taumafai mai fa'ailoga e fa'aoga i totonu vasega, metotia, ma fanua. I le taimi muamua, e mafai ona fa'agata le fa'aogaina o le fa'aogaina o le fa'aogaina o le "--illegal-access=pemita" filifiliga, ae ua fa'agata. O talosaga e mana'omia le avanoa i totonu o vasega, metotia, ma fanua e tatau ona fa'amalamalama manino i latou i le fa'aaogaina o le filifiliga --add-opens poʻo le Add-Opens attribute i le faila faʻaalia.
  • O talosaga e tu'uina atu i ai le tomai e fa'amatala ai fa'amaumauga fa'amama fa'amaumauga, lea e mafai ona fa'atatau i le fa'asinomaga ma filifilia fa'amalosi e fa'atatau i fa'agaioiga fa'ama'oti fa'apitoa. O filiga faʻapitoa e faʻatatau i le masini komepiuta atoa (JVM-lautele), i.e. e le gata ina aofia ai le talosaga lava ia, ae faapea foi ma faletusi lona tolu o loʻo faʻaaogaina i le talosaga.
  • Ua fa'aopoopoina e Swing le javax.swing.filechooser.FileSystemView.getSystemIcon auala e uta ai ata tetele e fa'aleleia ai le UI i luga ole DPI maualuga.
  • O le java.net.DatagramSocket API e tuʻuina atu le lagolago mo le faʻafesoʻotaʻi i vaega Multicast e aunoa ma le manaʻomia mo se isi java.net.MulticastSocket API.
  • O le IGV (Ideal Graph Visualizer) faʻaoga ua faʻaleleia, tuʻuina atu vaʻavaʻai vaʻavaʻai o faʻataʻitaʻiga o le vaeluagalemu i le HotSpot VM C2 JIT compiler.
  • I JavaDoc, e ala i le faʻatusa ma le javac compiler, pe a oʻo mai se mea sese, o le numera o le laina faʻafitauli i le faila faila ma le nofoaga o le mea sese ua faʻaalia nei.
  • Faʻaopoopo le fanua native.encoding, faʻaalia le igoa o le faʻaogaina o le amio (UTF-8, koi8-r, cp1251, ma isi).
  • Ua fa'aopoopoina le java.time.InstantSource, fa'atagaina le fa'aogaina o le taimi e aunoa ma le fa'asino i se sone taimi.
  • Fa'aopoopo le java.util.HexFormat API mo le fa'aliliuina i le fa'ailoga hexadecimal ma le isi itu.
  • Ua faʻaopoopoina se faiga uliuli i le tuʻufaʻatasia, lea e faʻamalo ai le faʻaogaina o le faʻaogaina o le oti-code, lea e mafai ona faʻaaogaina pe a faia suʻega faʻatinoga.
  • Fa'aopoopoina le "-Xlog:async" filifiliga i le Taimi Taimi e fa'amaumau ai ogalaau i le fa'aasynchronous mode.
  • Pe a fa'atūina feso'ota'iga malupuipuia, TLS 1.3 e mafai ona fa'aletonu (sa fa'aoga muamua le TLS 1.2).
  • O le Applet API na taʻua muamua ua le toe aoga (java.applet.Applet*, javax.swing.JApplet), lea na faʻaaogaina e faʻatautaia ai Java talosaga i le browser, ua siitia atu i le vaega o loʻo faʻatulagaina mo le aveeseina (ua leiloa le taua pe a maeʻa le lagolago. mo le Java plugin mo tagata suʻesuʻe).
  • Saogalemu Pule, lea ua leva ona leiloa lona taua ma liliu mai e le taʻuina ina ua maeʻa le lagolago mo le masini suʻesuʻe, ua siitia atu i le vaega o i latou ua fuafuaina mo le aveeseina.
  • O le RMI Activation mechanism ua aveese, lea ua tuai, ua tuʻuina atu i le vaega o se filifiliga i Java 8 ma e toetoe lava a le faʻaaogaina i faiga faʻaonaponei.
  • O se faʻataʻitaʻiga tuʻufaʻatasiga e lagolagoina le JIT (naʻo-i-le taimi) mo le tuʻufaʻatasia malosi o le Java code mo HotSpot JVM, faʻapea foʻi ma le faiga o le faʻapipiʻiina o le faʻamoemoe (AOT, i luma o le taimi) o vasega i totonu ole masini masini aʻo leʻi amataina le masini masini. , ua aveese mai le SDK. O le tuʻufaʻatasiga na tusia i Java ma faʻavae i luga o le galuega a le Graal project. O loʻo maitauina o le tausiga o le compiler e manaʻomia ai le tele o galuega, lea e le faʻamaonia pe a leai se manaʻoga mai tagata atiae.

puna: opennet.ru

Faaopoopo i ai se faamatalaga