Java

Java 11 Nye funktioner

Java 11 Nye funktioner
Oracle har for nylig frigivet Java Development Kit 10 (JDK 10), og det betyder, at JDK 11 ikke er langt væk i overensstemmelse med Oracles nye seks måneders frigivelsescyklus. Lad os se på, hvilke nye funktioner du allerede kan se frem til i JDK 11.

Epsilon Garbage Collector

Ifølge JDK Enhancement Proposal (eller JEP) 318 er Epsilon en lav-overhead affaldssamler (GC), hvis formål er at håndtere hukommelsestildeling uden at implementere nogen egentlig hukommelsesgenvindingsmekanisme.

Målet er at "give en fuldstændig passiv GC-implementering med en afgrænset allokeringsgrænse og den lavest mulige latenstidskostnad på bekostning af hukommelsesfodaftryk og hukommelseskapacitet", siger Java-kerneudviklere i forslaget. ”En vellykket implementering er en isoleret kodeændring, rører ikke andre GC'er og foretager minimale ændringer i resten af ​​JVM.”

Selvom Java allerede tilbyder et bredt udvalg af stærkt konfigurerbare GC-implementeringer, mener udviklerne, at det er lettere at opretholde en separat GC-implementering for at adressere specifikke brugssager, såsom performance-test, hukommelsestest-test, VM-interface-test, ekstremt kortvarige job , latenstidsforbedringer i sidste fald eller forbedringer af gennemstrømning i sidste fald end at pæle en anden konfigurationsmulighed på den eksisterende GC-implementering.

Lokal variabel syntaks for Lambda-parametre

Java 10 introducerede lokal variabel type inferens for at reducere ordligheden, der er forbundet med at skrive Java-kode, og Java 11 udvider den til at tillade var skal bruges til at erklære de formelle parametre for implicit typede lambda-udtryk, som anført i JEP 323, med titlen Local-Variable Syntax for Lambda Parameters.

I stedet for at skrive:

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

Det vil være muligt blot at skrive:

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

Ensartetheden i sig selv er ikke den eneste fordel ved lokal variabel syntaks for lambda-parametre. En anden fordel er, at det bliver muligt at anvende modifikatorer på lokale variabler og lambda-formaler uden at miste korthed.

Dynamiske klassefilkonstanter

JEP 309 udvider Java-klassefilformatet til at understøtte en ny konstant poolform, CONSTANT_Dynamic, for at reducere omkostningerne og afbrydelsen ved at skabe nye former for materialiserbare klassefilkonstanter. Ligesom at forbinde en påkaldt dynamisk call site delegerer link til en bootstrap-metode, så vil indlæsning af en CONSTANT_Dynamic delegere oprettelse til en bootstrap-metode.

Ifølge Java-kerneudviklere vil den nye konstante poolform tilbyde sprogdesignere og compiler-implementatorer bredere muligheder for ekspressivitet og ydeevne. “Richere, mere fleksible, mere stærkt typede konstanter fjerner friktion fra udviklingen af ​​påkaldte dynamiske protokoller, hvilket igen letter bevægelsen af ​​kompleks logik fra kørselstid til sammenkædningstid, forbedrer programydelsen og forenkler kompilatorlogikken.”

Hvad kan ikke komme til Java 11

På trods af de ovenfor beskrevne funktioner vil Java 11 faktisk være slankere end Java 10, fordi den er indstillet til at miste CORBA (Common Object Request Broker Architecture), Java EE-moduler og JavaFX, et sæt grafik- og mediepakker, der gør det muligt for udviklere at designe, oprette, teste, fejle og implementere rige klientapplikationer.

CORBA er den åbne standard for heterogen computing, og den blev udfaset sammen med Java EE-moduler i Java SE 9. Standalone-versioner af Java EE-moduler vil stadig være tilgængelige fra tredjepartswebsteder, men Oracle behøver ikke længere at opretholde to separate implementeringer: en i Java SE og den anden i Java EE.

5 bedste arkadespil til Linux
I dag er computere seriøse maskiner, der bruges til spil. Hvis du ikke kan få den nye høje score, ved du hvad jeg mener. I dette indlæg vil du kende n...
Kamp om Wesnoth 1.13.6 Udvikling frigivet
Kamp om Wesnoth 1.13.6 udgivet i sidste måned, er den sjette udviklingsudgivelse i 1.13.x-serien, og den leverer en række forbedringer, især til bruge...
Sådan installeres League Of Legends på Ubuntu 14.04
Hvis du er fan af League of Legends, er dette en mulighed for dig at prøvekøre League of Legends. Bemærk, at LOL understøttes på PlayOnLinux, hvis du ...