Programmēšana

JDK 10: Kas jauns Java 10

JDK 10, Java Standard Edition 10 ieviešana, tika izlaists 2018. gada 20. martā. Galvenie uzlabojumi ietver vietējos mainīgo veidus, kā arī atkritumu savākšanas un apkopošanas uzlabojumus.

Plānots, ka JDK 10 būs tikai īslaicīgs izlaidums, un JDK 10 publisko atjauninājumu beigu termiņš ir seši mēneši. Gaidāmais JDK 11, kas paredzēts septembrī, būs Java ilgtermiņa atbalsta (LTS) versija. LTS izlaišana ir jāveic reizi trijos gados.

Oracle ir iestatījis sešu mēnešu laidiena kadenci Java izlaidumiem. Bija plānots nosaukt šo jauninājumu un pēctečus, pamatojoties uz izlaišanas gadu un mēnesi, un pirmo laidienu sauc par Java 18.3. Bet pēc iebildumu izteikšanas šie plāni tika atcelti.

Kur lejupielādēt Java JDK 10

JDK 10 varat lejupielādēt no Oracle vietnes.

Jaunas un uzlabotas funkcijas JDK 10

JDK 10 galvenās iezīmes ir:

  • Vietējā mainīgā tipa secinājums, lai uzlabotu Java valodu, lai paplašinātu tipa secinājumu vietējo mainīgo deklarācijām ar inicializētājiem.
  • Paralēla pilna atkritumu savākšana G1 atkritumu savācējam, lai uzlabotu vissliktākos latentumus.
  • Lietojumprogrammas klases un datu koplietošana, lai optimizētu startēšanas laiku un nospiedumu. Esošā klases un datu koplietošanas funkcija ir paplašināta, tāpēc lietojumprogrammu klases var ievietot koplietojamā arhīvā.
  • Eksperimentālu tieši savlaicīgi sastādītāju Graal var izmantot Linux / x64 platformā.
  • Dokeru izpratne. Darbojoties Linux sistēmās, Java virtuālā mašīna (JVM) zinās, vai tā darbojas Docker konteinerā. Konteineram raksturīgo informāciju - CPU skaitu un konteineram atvēlēto kopējo atmiņu - JVM iegūs, nevis vaicās par operētājsistēmu. (Java procesam pieejamo procesoru skaits tiek aprēķināts no norādītajām procesoru kopām, akcijām vai kvotām.)
  • Trīs jaunas JVM opcijas, lai Docker konteineru lietotājiem nodrošinātu lielāku kontroli pār sistēmas atmiņu.
  • Kļūdu labojums, lai labotu pievienošanas mehānismu, mēģinot piesaistīt no resursdatora procesa Java procesam, kas atrodas Docker konteinerā.
  • Īsāks rīka jShell REPL palaišanas laiks, it īpaši, ja tiek izmantots sākuma fails ar daudziem fragmentiem.
  • Jauni API, lai labāk ļautu izveidot nemodificējamas kolekcijas. The copyOf,Set.copyOf, un Karte.copyOf metodes izveido jaunus kolekcijas gadījumus no esošajiem gadījumiem. Jaunas metodes toUnmodifiableList, toUnmodifiableSet, un toUnmodifiableMap tika pievienoti Kolekcionāri klases pakotnē Stream, ļaujot straumes elementus apkopot nemodificējamā kolekcijā.
  • Vietējā mainīgā tipa secinājums, lai uzlabotu valodu, lai paplašinātu tipa secinājumu uz vietējiem mainīgajiem. Mērķis ir samazināt ar kodēšanu saistīto “ceremoniju”, vienlaikus saglabājot apņemšanos ievērot statiskā tipa drošību.
  • Tīra atkritumu savācēja saskarne, lai uzlabotu dažādu atkritumu savācēju pirmkodu izolāciju. Šo centienu mērķi ietver labāku iekšējā atkritumu savākšanas koda modularitāti virtuālajā mašīnā HotSpot un jauna atkritumu savācēja pievienošanas atvieglošanu HotSpot.
  • Paralēla pilna atkritumu savākšana G1 atkritumu savācējam. Mērķis ir uzlabot sliktāko latentumu, īstenojot paralēlismu.
  • Ļaujot HotSpot piešķirt objekta kaudzi alternatīvā atmiņas ierīcē, piemēram, lietotāja norādītajā NVDIMM atmiņas modulī. Šī funkcija paredz, ka nākotnes sistēmām var būt neviendabīgas atmiņas arhitektūras.
  • Ļaujot Grall Java balstītu tieši laikā kompilatoru eksperimentāli izmantot Linux / x64 platformā.
  • JDK meža krātuvju apvienošana vienā krātuvē, lai pilnveidotu attīstību. Kodu bāze līdz šim ir sadalīta vairākos repos, kas var radīt problēmas ar pirmkodu pārvaldību.
  • Lietojumprogrammu klases datu koplietošana, lai samazinātu nospiedumu, koplietojot klases metadatus visos procesos. Tiek uzlabots arī palaišanas laiks.
  • Lokālie saraksti, lai veiktu atzvanīšanu pavedieniem, neveicot globālu VM drošo punktu. Atsevišķus pavedienus varēja pārtraukt visu pavedienu vietā vai bez pavedieniem.
  • Noklusējuma saknes sertifikāta iestādes sertifikātu kopas nodrošināšana JDK. Mērķis ir atvērtā koda saknes sertifikātus Oracle Java SE Root CA programmā, lai padarītu OpenJDK veidojumus pievilcīgākus izstrādātājiem.

Ilgtermiņa Java ceļvedis

Oracle saka, ka tiek apsvērta nākamā un jaunākā Java SE versija:

  • Dzintara projekts, kas ir bijis inkubators mazākām, uz produktivitāti orientētām valodas funkcijām, kas ietver vietēja mainīgā tipa secinājumus, lai samazinātu Java koda rakstīšanas ceremoniju; uzlaboti enumi, lai uzlabotu enum konstrukcijas izteiksmīgumu, ļaujot enums tipa mainīgos un veicot asāku konta konstantu tipa pārbaudi; un lambda pārpalikumi, lai uzlabotu lambda un metožu atsauču lietojamību.
  • Projekts Panama, lai savstarpēji savienotu JVM un vietējo kodu, izmantojot vietējo funkciju izsaukumus no JVM un vietējo datu piekļuvi no JVM.
  • Valhalla, inkubatora projekts uzlabotiem Java VM un valodas iezīmju kandidātiem, tostarp vērtību tipiem un vispārīgai specializācijai.
  • Project Loom, lai samazinātu vienlaicīgu pieteikumu rakstīšanas sarežģītību. Plāns prasa pievienot alternatīvas lietotāja režīma pavedienu ieviešanas, norobežotas turpināšanas un citas konstrukcijas, kas saistītas ar zvanu kaudzes manipulācijām. Šī priekšlikuma galvenais mērķis ir piedāvāt alternatīvu pavedienu ieviešanu, ko pārvalda Java rakstīti plānotāji. Parasto Java pavedienu Java programmēšanas modelis tiktu saglabāts, vienlaikus uzlabojot veiktspēju un samazinot nospiedumu.

Izmantojot jauno sešu mēnešu izlaišanas grafiku, funkcijas, kurām trūkst viena laidiena, var tikt aizkavētas pat sešus mēnešus, kad iznāk nākamā laidiena versija. Papildus tam, kas tika paziņots par JDK 10, Oracle nav apņēmies noteikt, kad kāda no jaunajām piedāvātajām funkcijām faktiski būs pieejama Java.

$config[zx-auto] not found$config[zx-overlay] not found