Programmēšana

JDK 14: Java 14 jaunās funkcijas

Java Development Kit (JDK) 14 ir sasniedzis GA, un tas tiek piegādāts vispārējas pieejamības laidienā ražošanas izvietošanai. Jaunināšana uz standarta Java ietver jaunas iespējas, piemēram, JDK Flight Recorder notikumu straumēšanu, modeļu saskaņošanu un komutācijas izteiksmes.

JDK 14 ir Java iezīme, nevis ilgtermiņa atbalsta (LTS) laidiens pēc sešu mēnešu laidiena, kas iestatīta Java. JDK 14 saņems atjauninājumus aprīlī un jūlijā, pirms tos aizstās JDK 15, kas arī nav LTS izlaidums, kura termiņš ir septembris. Pašreizējais LTS izlaidums ir JDK 11.

Jaunās JDK 14 funkcijas un uzlabojumi ietver:

  • JFR Event Streaming nodrošina API nepārtrauktam JFR datu patēriņam gan no procesa laikā esošām, gan ārpus procesa esošām lietojumprogrammām. JFR ir rīks, lai apkopotu profilēšanas un diagnostikas datus par Java lietojumprogrammu un JVM, kad tie darbojas. Pasākuma straumēšanas priekšlikumā tiek ierakstīts tāds pats notikumu kopums kā gadījumam, kad netiek straumēts, ja pieskaitāmās izmaksas ir mazākas par vienu procentu, ja iespējams. Notikumu straumēšanai jāpastāv vienlaikus ar ierakstiem, kas netiek straumēti, gan uz diska, gan uz atmiņu. Šī priekšlikuma motivēšana ir situācija, kad HotSpot VM, izmantojot JFR, izstaro vairāk nekā 500 datu punktus, no kuriem lielākā daļa ir pieejama tikai parsējot žurnālfailus. Pašlaik lietotājam jāsāk ieraksts, tas jāpārtrauc, saturs jāizmet diskā un pēc tam parsēt ieraksta failu. Tas labi darbojas lietojumprogrammu profilēšanā, bet ne uzraudzības nolūkos. Lietošanas pārraudzības piemērs ir informācijas panelis, kurā tiek parādīti dinamiski datu atjauninājumi. Ar ieraksta izveidošanu, piemēram, datu kopēšanu no diska krātuves uz atsevišķu ieraksta failu, ir papildu izmaksas. Ja būtu veids, kā nolasīt datus, kas tiek ierakstīti no diska krātuves, neveidojot jaunu ierakstīšanas failu, varētu izvairīties no lielas pieskaitāmās daļas.
  • Plānotais uzlabojumsNullPointerExceptions attiecas uz JVM radīto izņēmumu izmantojamības uzlabošanu, precīzi aprakstot, kurš mainīgais bija nulle. Priekšlikuma autori vēlas izstrādātājiem un atbalsta personālam sniegt noderīgu informāciju par priekšlaicīgu programmas pārtraukšanu un uzlabot programmas izpratni, skaidrāk saistot dinamisko izņēmumu ar statisko programmas kodu. Viens mērķis ir samazināt neskaidrības un satraukumu, ko izstrādātāji uztrauc NullPointerExceptions.
  • Nepastāvīgi kartēti baitu buferi pievienotu jaunus JDK specifiskus failu kartēšanas režīmus, kas ļauj izmantot FileChannel API, lai izveidotu MappedByteBuffer gadījumi, kas attiecas uz nepastāvīgo atmiņu (NVM). NVM ļauj programmētājiem veidot un atjaunināt programmas stāvokli visā programmas izpildē, neradot ievērojamas kopēšanas vai tulkošanas izmaksas, kas parasti nepieciešamas ievades un izvades darbībām. Tas ir īpaši nozīmīgi darījumu programmām. Tādējādi šī JDK uzlabošanas priekšlikuma galvenais mērķis ir nodrošināt, lai klienti varētu saskaņoti un efektīvi piekļūt NVM no Java programmas un atjaunināt to. Sekundārs mērķis ir ieviest šo saistību uzvedību, izmantojot klasē definētu ierobežotu, JDK iekšēju API Nedrošs, tāpēc to var atkārtoti izmantot citas klases, nevis MappedByteBuffer kas, iespējams, būs jāpiesaista NVM. Vēl viens mērķis ir ļaut esošajiem API uzraudzīt un pārvaldīt NVM kartētos buferus. Mērķa OS / CPU platformās ietilpst Linux / x64 un Linux / AArch64.
  • Slēdža izteiksmes vienkāršo kodēšanu, paplašinotslēdzis lai to varētu izmantot vai nu kā paziņojumu, vai kā izteicienu. Paredzams, ka komutācijas izteiksmes būs pastāvīga iezīme JDK 14, pēc tam, kad tās būs priekšskatītas gan JDK 12, gan JDK 13. Komutatoru izteiksmes sagatavo arī modeļu saskaņošanas lietošanai slēdzis. Modeļu saskaņošana ļauj izstrādātājiem īsāk un drošāk komponentus no objektiem iegūt.
  • NUMA zinošs atmiņas sadalījums atkritumu savācējam G1, kas paredzēts, lai uzlabotu G1 veiktspēju lielās mašīnās.
  • Vienlaicīgā atkritumu savācēja (CMS) atkritumu savācēja noņemšana, kas iepriekš bija novecojis un paredzēts noņemšanai. Ir radušies CMS pēcteci, tostarp ZGC un Shenandoah.
  • ZGC pārnešana uz MacOS. Līdz šim to atbalsta tikai Linux.
  • Rīku pack200 un unpackpack un API Pack200 noņemšana java.util.jar iepakojums. Tie visi tika novecojuši Java SE 11 nolūkā tos nākotnē noņemt. Pack200 ir JAR failu saspiešanas shēma.
  • Ieraksti, kas nodrošinātu kompaktu sintaksi to klašu deklarēšanai, kuras ir pārredzami sekli nemainīgu datu turētāji. Izmantojot ierakstus, ir viegli izveidot klases, kas būtībā ir datu nesēji, nerakstot daudz katlu. Priekšlikumā teikts, ka jābūt viegli un kodolīgi paziņot par sekli nemaināmiem, labi izturētiem, nominālajiem datu apkopojumiem.
  • Iepakošanas rīks inkubatora attīstības fāzē autonomu Java lietojumprogrammu iesaiņošanai. Rīka pamatā būtu JavaFX javapackager. Šāds rīks bija iekļauts Java, bet tika noņemts no JDK 11 kā daļa no JavaFX noņemšanas.
  • Uzlabojiet valodu, izmantojot instanceof operators. Tas būtu JDK 14 priekšskatījuma līdzeklis. Šablonu saskaņošana ļauj kodolīgāk un drošāk izteikt programmas kopējo loģiku, galvenokārt nosacītu komponentu iegūšanu no objektiem. Kodu var padarīt īsu un tipam drošu.
  • Otrais teksta bloku priekšskatījums, daudzrindu virknes literāls, kas novērš nepieciešamību pēc lielākās daļas aizbēgšanas secību un automātiski formatē virkni paredzamā veidā. Teksta bloki pēc iespējas ļautu izstrādātājam kontrolēt formātu, vienkāršotu Java programmu rakstīšanu un uzlabotu virkņu lasāmību. Teksta bloki tika priekšskatīti JDK 13; JDK 14 atkārtojums pievienotu evakuācijas secības skaidru atstarpju pārvaldīšanai un jaunās līnijas vadībai.
  • Parallel Scavenge un Serial Old atkritumu savākšanas algoritmu kombinācijas atcelšana. Java uzturētāji uzskata, ka šī kombinācija tiek izmantota ļoti maz, bet prasa daudz uzturēšanas.
  • ZGC (Z Garbage Collector) pārnešana uz Windows. Pēc tam, kad tā ir atgriezta piedāvātajā mērķauditorijas atlases sarakstā, šī funkcija atkal ir pārvietota uz oficiāli atlasīto sarakstu.
  • Ārzemju atmiņas piekļuves API, ieviešot API Java programmām, lai droši un efektīvi piekļūtu ārzemju atmiņai ārpus Java kaudzes. Šai API vajadzētu kalpot kā alternatīvai galvenajiem ceļiem, ar kuriem Java programmas piekļūst atmiņai, ieskaitot nio.ByteBuffer un sun.misc.Drošs. Jaunajai API vajadzētu darboties ar dažāda veida atmiņu, ieskaitot vietējo, pastāvīgo atmiņu un pārvaldīto kaudzi. API nevajadzētu būt iespējai graut JVM drošību. Atmiņas darījumu izvietošanai jābūt skaidrai avota kodā. Paredzams, ka API palīdzēs attīstīt vietējo savstarpējās sadarbības atbalstu, kas ir Panama projekta mērķis.
  • Solaris / Sparc, Solaris / x64 un Linux / Sparc portu novecošana ar nolūku tos noņemt nākamajā laidienā. Atceļot atbalstu šīm ostām, OpenJDK dalībnieki varēs paātrināt jaunu funkciju izstrādi. Neskatoties uz to, ka Solaris un Sparc bija sākotnējās Java radītāja Sun Microsystems galvenās tehnoloģijas, pēdējos gados tehnoloģiju telpā tos aizstāja Linux OS un Intel procesori.

Kur lejupielādēt JDK 14

Jūs varat lejupielādēt atvērtā koda JDK 14 no vietnes jdk.java.net operētājsistēmai Linux, Windows un MacOS. Jūs varat lejupielādēt Oracle komerciālās Java SE 14 lejupielādes no Oracle.com.

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