A maeŹ»a masina e ono o le atinaŹ»eina, ua faŹ»alauiloa mai e Oracle le Java SE 17 platform (Java Platform, Standard Edition 17), lea e faŹ»aaogaina ai le poloketi OpenJDK tatala e fai ma faŹ»ataŹ»itaŹ»iga. Sei vagana ai le aveeseina o nisi o foliga ua le toe faŹ»aaogaina, o loŹ»o faŹ»atumauina pea e le Java SE 17 le fetaui ma faŹ»asalalauga muamua o le Java platformāo le tele o poloketi Java na tusia muamua o le a le suia pe a faŹ»agaoioia i lalo o le lomiga fou. O faŹ»atulagaga ua sauni e faŹ»apipiŹ»i o le Java SE 17 (JDK, JRE, ma le Server JRE) ua saunia mo Linux (x86_64, AArch64), Windows (x86_64) ma macOS (x86_64, AArch64). Na atiaeina e le poloketi OpenJDK, o le fa'atinoga o le Java 17 reference e atoatoa ona tatala i lalo o le laisene GPLv2 fa'atasi ai ma le GNU ClassPath Exception, lea e mafai ai ona feso'ota'i fa'aonaponei ma oloa fa'apisinisi.
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.
- Afi fa'aliliu mo macOS, lea e maua ai le Java 2D API, lea e faʻaaogaina i le Swing API, ua fetuʻunaʻi e faʻaaoga ai le Metal graphics API. I le tulaga masani, o le fausaga macOS O loʻo faʻaaogaina pea le OpenGL, ma o le faʻagaoioia o le lagolago a le Metal e manaʻomia ai le setiina o le parakalafa "-Dsun.java2d.metal=true" ma ia i ai le faʻasaʻolotoga. macOS 10.14.x.
- Ua fa'aopoopoina le uafu mo le fa'avae macOS/AArch64 (Komepiuta Apple e faʻavae i luga o sipa fou a le Apple M1). O se vaega faʻapitoa o lenei uafu o le lagolagoina lea o le faiga puipuia o le manatua o le W^X (Write XOR Execute), lea e taofia ai itulau manatua mai le tusiaina ma le faʻatinoina i le taimi e tasi. (E naʻo le taimi e mafai ai ona faʻatinoina le code pe a uma ona faʻagata le avanoa e tusi ai, ma e naʻo le taimi e mafai ai ona tusitusi i se itulau manatua pe a uma ona faʻagata le avanoa e faʻatinoina ai.)
- 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.
- Ua mafai nei e talosaga ona faʻamatalaina ni faamama mo le faʻamamaina o faʻamaumauga, lea e mafai ona faʻalagolago i le anotusi ma filifilia faʻatasi ma ni faʻagaioiga faʻapitoa o le faʻamamaina. O faamama e te faʻamatalaina e faʻatatau i le atoaga masini komepiuta (JVM lautele), o lona uiga e le gata ina aofia ai le polokalama lava ia, ae faʻapea foʻi ma faletusi a isi vaega e faʻaaogaina i le polokalama.
- 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
