Efter sex mÄnaders utveckling, Oracle plattform (Java Platform, Standard Edition 13), OpenJDK-projektet med öppen kÀllkod anvÀnds som referensimplementering. Java SE 13 upprÀtthÄller bakÄtkompatibilitet med tidigare versioner av Java-plattformen; alla tidigare skrivna Java-projekt kommer att fungera utan Àndringar nÀr de lanseras under den nya versionen. Klara att installera Java SE 13 builds (JDK, JRE och Server JRE) för Linux (x86_64), Solaris, Windows О macOSUtvecklad inom OpenJDK-projektet, referensimplementeringen Àr helt öppen kÀllkod under GPLv2-licensen, med GNU ClassPath-undantag som tillÄter dynamisk lÀnkning med kommersiella produkter.
Java SE 13 kategoriseras som en utgÄva med normal supportperiod, vars uppdateringar kommer att slÀppas fram till nÀsta utgÄva. Java SE 11 bör anvÀndas som en lÄngsiktig supportgren (LTS), vars uppdateringar kommer att slÀppas fram till 2026. Den tidigare LTS-grenen av Java 8 kommer att stödjas fram till december 2020. NÀsta LTS-utgÄva Àr planerad till september 2021. LÄt oss pÄminna er om att frÄn och med lanseringen av Java 10 bytte projektet till en ny utvecklingsprocess, vilket innebÀr en kortare cykel för att skapa nya utgÄvor. Ny funktionalitet utvecklas nu i en stÀndigt uppdaterad huvudgren, som inkluderar fÀrdiga Àndringar och frÄn vilken grenar förgrenas var sjÀtte mÄnad för att stabilisera nya utgÄvor. Lanseringen av Java 14 Àr planerad till mars nÀsta Är, vars preliminÀra versioner redan Àr klara. för provning.
Av :
- stöd för dynamisk tillÀgg av CDS-arkiv (Class-Data Sharing), vilket ger gemensam Ätkomst för applikationer till gemensamma klasser. Med hjÀlp av CDS kan gemensamma klasser placeras i ett separat delat arkiv, vilket möjliggör snabbare applikationsstart och lÀgre omkostnader. Den nya versionen lÀgger till verktyg för dynamisk arkivering av klasser efter att applikationskörningen Àr avslutad. Klasserna som placeras i arkivet inkluderar alla klasser som laddats under programkörningen och tillhörande bibliotek som inte inkluderades i det ursprungligen tillhandahÄllna grundlÀggande CDS-arkivet;
- I ZGC (Z Garbage Collector) sophÀmtare stöd för att returnera oanvÀnt minne till operativsystemet;
- En omdesignad implementering av Legacy Socket API (java.net.Socket och java.net.ServerSocket) som Àr lÀttare att underhÄlla och felsöka. Dessutom kommer den föreslagna implementeringen att bli lÀttare att anpassa för att fungera med det nya systemet med trÄdar för anvÀndarutrymme (fibrer) som utvecklats inom Loom-projektet;
- utveckling av en ny form av uttrycket "switch". En experimentell (förhandsvisnings) möjlighet att anvÀnda "switch" i form av inte bara en operator, utan Àven som ett uttryck har lagts till. Till exempel Àr det nu möjligt att anvÀnda konstruktioner av formen:
int numLetters = switch (dag) {
fall MĂ NDAG, FREDAG, SĂNDAG -> 6;
fall TISDAG -> 7;
fall TORSDAG, LĂRDAG -> 8;
fall ONSDAG -> 9;
};eller
System.out.println(
switch (k) {
fall 1 -> «ett»
fall 2 -> «tvÄ»
standard -> «mÄnga»
}
);I framtiden, baserat pÄ denna möjlighet, implementera stöd för mallmatchning;
- experimentellt stöd för textblock - en ny form av strÀngliteraler som tillÄter flerradstextdata att inkluderas i kÀllkoden utan att anvÀnda teckenescapes och bevara den ursprungliga formateringen av texten i blocket. Blocket ramas in av tre dubbla citattecken. Till exempel istÀllet för uttrycket
String query = "SELECT `EMP_ID`, `LAST_NAME` FROM `EMPLOYEE_TB`\n" +
"WHERE `CITY` = 'INDIANAPOLIS'\n" +
"ORDER BY `EMP_ID`, `LAST_NAME`;\n";Nu kan du tillÀmpa konstruktionen:
StrÀngfrÄga = """
VĂLJ "EMP_ID", "LAST_NAME" FRĂ N "EMPLOYEE_TB".
WHERE `CITY` = 'INDIANAPOLIS'
ORDER BY `EMP_ID`, `LAST_NAME`;
"""; - 2126 1454 buggrapporter stÀngdes, varav 671 XNUMX ÄtgÀrdades av Oracles anstÀllda och XNUMX av tredjepartsbidragsgivare, varav en sjÀttedel av Àndringarna gjordes av oberoende utvecklare och resten av representanter för företag som IBM, Red Hat, Google, Loongson, Huawei, ARM och SAP.
KĂ€lla: opennet.ru
