Java SE 17 scaoileadh

Tar éis sé mhí forbartha, d'eisigh Oracle Java SE 17 (Java Platform, Standard Edition 17), a úsáideann an tionscadal foinse oscailte OpenJDK mar chur i bhfeidhm tagartha. Cé is moite de roinnt gnéithe as feidhm a bhaint, coinníonn Java SE 17 comhoiriúnacht siar le heisiúintí an ardáin Java roimhe seo - oibreoidh formhór na dtionscadal Java a scríobhadh roimhe seo gan athruithe nuair a reáchtáiltear iad faoin leagan nua. Ullmhaítear foirgnimh atá réidh le suiteáil de Java SE 17 (JDK, JRE agus Server JRE) le haghaidh Linux (x86_64, AArch64), Windows (x86_64) agus macOS (x86_64, AArch64). Arna fhorbairt ag an tionscadal OpenJDK, tá cur i bhfeidhm tagartha Java 17 foinse oscailte go hiomlán faoin gceadúnas GPLv2, le heisceachtaí GNU ClassPath a cheadaíonn nascadh dinimiciúil le táirgí tráchtála.

Tá Java SE 17 rangaithe mar scaoileadh Tacaíocht Fadtéarmach (LTS), a leanfaidh de bheith ag fáil nuashonruithe go dtí 2029. Cuireadh deireadh le nuashonruithe don scaoileadh cloch mhíle Java 16 roimhe seo. Tabharfar tacaíocht don bhrainse LTS roimhe seo de Java 11 go dtí 2026. Tá an chéad eisiúint LTS eile sceidealta do Mheán Fómhair 2024. Cuirfimid i gcuimhne duit, ag tosú le scaoileadh Java 10, gur aistrigh an tionscadal go próiseas forbartha nua, rud a thugann le tuiscint timthriall níos giorra chun eisiúintí nua a fhoirmiú. Forbraítear feidhmiúlacht nua anois i máistirbhrainse amháin a nuashonraítear i gcónaí, lena n-áirítear athruithe réamhdhéanta agus as a ndéantar brainsí a chraobhscaoileadh gach sé mhí chun eisiúintí nua a chobhsú.

I measc na ngnéithe nua i Java 17 tá:

  • Moltar go ndéanfaí meaitseáil patrún i sloinn “lasc” go turgnamhach, a cheadaíonn úsáid a bhaint as ní luachanna cruinne i lipéid “cás”, ach teimpléid sholúbtha a chlúdaíonn sraith luachanna ag an am céanna, arbh ghá iad a úsáid go hannamh roimhe seo. slabhraí de nathanna “má...eile”. Ina theannta sin, tá an cumas ag “athrú” luachanna NULLComment a láimhseáil. Cuspóir o = 123L; String formatted = lasc (o) { cás slánuimhir i -> String.format ("int %d", i); cás Fada l -> String.format ("fada %d", l); cás Dúbailte d -> String.format("dúbailte %f", d); case Teaghrán s -> String.format("Teaghrán %s", s); réamhshocraithe -> o.toString(); };
  • Tacaíocht chobhsaithe d’aicmí agus do chomhéadain séalaithe, nach féidir le haicmí agus comhéadain eile iad a úsáid chun an cur chun feidhme a oidhreacht, a shíneadh nó a shárú. Soláthraíonn aicmí séalaithe bealach níos dearbhaithe freisin chun srian a chur le húsáid sár-aicme ná le modhnóirí rochtana, bunaithe ar na fo-aicmí a cheadaítear le síneadh a liostú go sainráite. pacáiste com.example.geometry; aicme séalaithe poiblí Ceadanna cruth com.example.polar.Circle, com.example.quad.Rectangle, com.example.quad.simple.Square {…}
  • Moltar an dara réamhamharc ar an Veicteoir API, a sholáthraíonn feidhmeanna le haghaidh ríomhaireachtaí veicteora a fhorghníomhaítear ag baint úsáide as treoracha veicteoirí ar phróiseálaithe x86_64 agus AArch64 agus a cheadaíonn oibríochtaí a chur i bhfeidhm go comhuaineach ar illuachanna (SIMD). Murab ionann agus na cumais a chuirtear ar fáil i dtiomsaitheoir HotSpot JIT chun oibríochtaí scálach a uath-veicteoiriú, is féidir leis an API nua veicteoiriú a rialú go sainráite le haghaidh próiseála sonraí comhthreomhara.
  • Cuireadh réamhamharc leis ar an API Feidhme & Cuimhne Eachtrach, a ligeann d’fheidhmchláir idirghníomhú le cód agus sonraí lasmuigh d’am rite Java. Ligeann an API nua duit feidhmeanna neamh-JVM a ghlaoch go héifeachtach agus rochtain a fháil ar chuimhne nach bhfuil á bhainistiú ag JVM. Mar shampla, is féidir leat feidhmeanna a ghlaoch ó leabharlanna comhroinnte seachtracha agus rochtain a fháil ar shonraí próisis gan JNI a úsáid.
  • Tá an t-inneall rindreála macOS a chumhachtaíonn an API Java 2D, a chumhachtaíonn an API Swing, curtha in oiriúint chun an API Grafaicí Miotail a úsáid. Leanann an t-ardán macOS ag baint úsáide as OpenGL de réir réamhshocraithe, agus chun tacaíocht Miotal a chumasú tá gá le “-Dsun.java2d.metal=true” a shocrú agus ar a laghad macOS 10.14.x a rith.
  • Cuireadh port leis don ardán macOS/AAarch64 (ríomhairí Apple bunaithe ar na sliseanna nua Apple M1). Gné speisialta den phort is ea an tacaíocht don mheicníocht cosanta cuimhne W^X (Write XOR Execute), nach féidir teacht ar leathanaigh chuimhne ag an am céanna le haghaidh scríobh agus cur i gcrích. (Ní féidir cód a fhorghníomhú ach amháin tar éis an scríobh a dhíchumasú, agus ní féidir scríobh chuig leathanach cuimhne ach amháin tar éis é a fhorghníomhú a bheith díchumasaithe).
  • Ar ais chuig úsáid a bhaint as séimeantaic strictfp amháin le haghaidh sloinn snámhphointe. Cuireadh deireadh leis an tacaíocht don tséimeantaic “réamhshocraithe”, atá ar fáil ó scaoileadh Java 1.2, lena n-áirítear simplithe chun oibriú ar chórais le comhphróiseálaithe matamaitice x87 an-sean (tar éis treoracha SSE2 a theacht, imithe an gá atá le semantics breise).
  • Tá cineálacha nua comhéadain le gineadóirí uimhreacha pseudorandom curtha i bhfeidhm, agus tá algartaim bhreise curtha i bhfeidhm chun líon randamach a ghiniúint níos fearr. Tugtar deis d’fheidhmchláir algartam a roghnú chun uimhreacha bréagacha a ghiniúint. Tacaíocht fheabhsaithe chun sruthanna oibiachta randamacha a ghiniúint.
  • Ionchamháil dhian ar gach inmheánach JDK curtha i bhfeidhm, cé is moite d'APIanna ríthábhachtacha mar sun.misc.Unsafe. Blocann imchochlú dian iarrachtaí ón gcód rochtain a fháil ar ranganna, modhanna agus réimsí inmheánacha. Roimhe seo, d'fhéadfaí mód dian imchochlaithe a dhíchumasú trí úsáid a bhaint as an rogha "--illegal-access=permit", ach tá sé seo imithe i léig anois. Ba cheart d’fheidhmchláir a éilíonn rochtain ar aicmí, modhanna agus réimsí inmheánacha iad a shainiú go sainráite ag baint úsáide as an rogha --add-opens nó an tréith Breiseáin Osclaíonn sa chomhad follasach.
  • Tugtar an cumas d’fheidhmchláir scagairí dísháirithe sonraí a shainiú, ar féidir leo a bheith íogair ó thaobh comhthéacs agus a roghnú go dinimiciúil bunaithe ar oibríochtaí díscriúnaithe sonracha. Tá na scagairí sonraithe infheidhme maidir leis an meaisín fíorúil iomlán (ar fud JVM), i.e. clúdaíonn sé ní amháin an feidhmchlár féin, ach freisin na leabharlanna tríú páirtí a úsáidtear san fheidhmchlár.
  • Chuir Swing an modh javax.swing.filechooser.FileSystemView.getSystemIcon leis chun deilbhíní móra a luchtú chun an Chomhéadain a fheabhsú ar scáileáin Ard-DPI.
  • Soláthraíonn an java.net.DatagramSocket API tacaíocht chun nascadh le grúpaí Multicast gan gá le Java.net.MulticastSocket API ar leith.
  • Feabhsaíodh an áirgiúlacht IGV (Ideal Graph Visualizer), ag soláthar léirshamhlú idirghníomhach ar léiriú cód idirmheánach i dtiomsaitheoir HotSpot VM C2 JIT.
  • I JavaDoc, de réir analaí leis an tiomsaitheoir javac, nuair a dhéantar earráid a aschur, léirítear anois líon na líne fadhbanna sa bhunchomhad agus suíomh na hearráide.
  • Cuireadh an mhaoin native.encoding leis, rud a léiríonn ainm ionchódú carachtar an chórais (UTF-8, koi8-r, cp1251, etc.).
  • Tá comhéadan java.time.InstantSource curtha leis, rud a cheadaíonn ionramháil ama gan tagairt do chrios ama.
  • Cuireadh java.util.HexFormat API leis chun é a thiontú go hionadaíocht heicsidheachúil agus vice versa.
  • Tá modh poll dubh curtha leis an tiomsaitheoir, a dhíchumasaíonn oibríochtaí díothaithe marbh-chód, is féidir a úsáid le linn tástálacha feidhmíochta a dhéanamh.
  • Cuireadh rogha “-Xlog: async” le Runtime chun logaí a thaifeadadh i mód asincrónach.
  • Nuair a bhíonn naisc shlána á mbunú, tá TLS 1.3 cumasaithe de réir réamhshocraithe (úsáideadh TLS 1.2 roimhe seo).
  • Aistríodh an API Feidhmchláirín as feidhm a dearbhaíodh roimhe seo (java.applet.Applet*, javax.swing.JApplet), a úsáideadh chun feidhmchláir Java a rith sa bhrabhsálaí, chuig an gcatagóir de sclátaí le baint (caillte ábharthacht tar éis dheireadh na tacaíochta don breiseán Java le haghaidh brabhsálaithe).
  • Tá an Bainisteoir Slándála, a bhfuil a ábharthacht caillte le fada ó shin agus a d'éirigh as a bheith neamhéilithe tar éis dheireadh na tacaíochta don bhreiseán brabhsálaí, aistrithe go dtí an catagóir díobh siúd atá sceidealaithe le baint.
  • Baineadh an mheicníocht Gníomhachtaithe RMI, atá as dáta, a athligean chuig an gcatagóir de rogha i Java 8 agus nach n-úsáidtear beagnach riamh i gcleachtas nua-aimseartha.
  • Tiomsaitheoir turgnamhach a thacaíonn le JIT (díreach in am) chun cód Java a thiomsú go dinimiciúil le haghaidh HotSpot JVM, chomh maith leis an modh tiomsaithe réamh-mheasta (AOT, roimh am) na ranganna i gcód meaisín roimh thosú ar an meaisín fíorúil. , bainte den SDK. Scríobhadh an tiomsaitheoir i Java agus é bunaithe ar obair thionscadal Graal. Tugtar faoi deara go n-éilíonn cothabháil tiomsaitheoir go leor saothair, rud nach bhfuil údar maith nuair nach bhfuil aon éileamh ó fhorbróirí.

Foinse: oscailtenet.ru

Add a comment