Java

Java 11 Nya funktioner

Java 11 Nya funktioner
Oracle har nyligen släppt Java Development Kit 10 (JDK 10), och det betyder att JDK 11 inte är långt borta, i enlighet med Oracles nya sexmånaders release-cykel. Låt oss titta på vilka nya funktioner du redan kan se fram emot i JDK 11.

Epsilon Garbage Collector

Enligt JDK Enhancement Proposal (eller JEP) 318 är Epsilon en låg-overhead sopor (GC) vars syfte är att hantera minnestilldelning utan att implementera någon faktisk minnesåtervinningsmekanism.

Målet är att "tillhandahålla en helt passiv GC-implementering med en begränsad allokeringsgräns och lägsta möjliga latensomkostnad på bekostnad av minnesavtryck och minnesgenomströmning", säger Java-kärnutvecklare i förslaget. ”En framgångsrik implementering är en isolerad kodändring, berör inte andra GC: er och gör minimala förändringar i resten av JVM.”

Även om Java redan erbjuder ett brett urval av mycket konfigurerbara GC-implementeringar, tror utvecklarna att det är lättare att upprätthålla en separat GC-implementering för att ta itu med specifika användningsfall, såsom prestandatestning, minnestryckstestning, VM-gränssnitttestning, extremt kortlivade jobb förbättringar av latenstiden för senast släpp eller förbättringar av genomströmningen för sista droppen än att lägga på ett annat konfigurationsalternativ för den befintliga GC-implementeringen.

Lokal variabel syntax för Lambda-parametrar

Java 10 introducerade Local Variable Type Inference för att minska storheten i samband med att skriva Java-kod, och Java 11 utökar den för att tillåta var som ska användas vid deklarering av de formella parametrarna för implicit inskrivna lambdauttryck, som anges i JEP 323, med titeln Local-Variable Syntax for Lambda Parameters.

I stället för att skriva:

(var x, var y) -> x.process (y)

Det kommer att vara möjligt att helt enkelt skriva:

(x, y) -> x.process (y)

Själva enhetligheten är inte den enda fördelen med lokal variabel syntax för lambda-parametrar. En annan fördel är att det blir möjligt att tillämpa modifierare på lokala variabler och lambdaformaler utan att förlora kortheten.

Dynamiska klassfilkonstanter

JEP 309 utökar Java-klassfilformatet för att stödja en ny konstant poolform, CONSTANT_Dynamic, för att minska kostnaderna och störningarna för att skapa nya former av materialiserbara klassfilkonstanter. Precis som att länka en anropad dynamisk anropssidan delegerar länk till en bootstrap-metod, så laddas en CONSTANT_Dynamic delegera skapandet till en bootstrap-metod.

Enligt Java-kärnutvecklare kommer den nya formen för konstant pool att erbjuda språkdesigners och kompilatorimplementörer bredare alternativ för uttrycksförmåga och prestanda. “Rikare, mer flexibla och mer typade konstanter tar bort friktion från utvecklingen av anropade dynamiska protokoll, vilket i sin tur underlättar förflyttningen av komplex logik från körtid till kopplingstid, vilket förbättrar programprestanda och förenklar kompilatorlogiken.”

Vad kommer inte till Java 11

Trots de ovan beskrivna funktionerna kommer Java 11 faktiskt att vara smalare än Java 10 eftersom den är inställd på att förlora CORBA (Common Object Request Broker Architecture), Java EE-moduler och JavaFX, en uppsättning grafik- och mediepaket som gör det möjligt för utvecklare att designa, skapa, testa, felsöka och distribuera rika klientapplikationer.

CORBA är den öppna standarden för heterogen databehandling, och den avvecklades, tillsammans med Java EE-moduler, i Java SE 9. Fristående versioner av Java EE-moduler kommer fortfarande att finnas tillgängliga från tredje parts webbplatser, men Oracle behöver inte längre ha två separata implementeringar: en i Java SE och den andra i Java EE.

Hur man visar OSD-överlägg i helskärms Linux-appar och -spel
Att spela helskärmsspel eller använda appar i distraktionsfritt helskärmsläge kan avskärma dig från relevant systeminformation som syns i en panel ell...
Topp 5 spelinspelningskort
Vi har alla sett och älskat streaming av spel på YouTube. PewDiePie, Jakesepticye och Markiplier är bara några av de bästa spelarna som har tjänat mil...
Hur man utvecklar ett spel på Linux
För ett decennium sedan skulle inte många Linux-användare förutsäga att deras favoritoperativsystem en dag skulle vara en populär spelplattform för ko...