PĂ€rast kuut kuud arendust on ettevĂ”te Oracle platvormi (Java Platform, Standard Edition 13), mille standardrakendus pĂ”hineb avatud projektil OpenJDK. Java SE 13 sĂ€ilitab tagurpidi ĂŒhilduvuse varasemate Java platvormi vĂ€ljaannetega, kĂ”ik varem kirjutatud Java projektid töötavad muutumatult uue versiooni all. Paigaldamiseks valmis Java SE 13 koopiad (JDK, JRE ja Server JRE) Linux (x86_64), Solaris, Windows ja macOS sĂŒsteemidele. OpenJDK projekti raames arendatud standardrakendus on tĂ€iesti avatud GPLv2 litsentsi all koos GNU ClassPath eranditega, mis lubavad dĂŒnaamilist sidumist kommertstooteid.
Java SE 13 kuulub tavapĂ€rase toetuse perioodi alla, mille uuendusi avaldatakse jĂ€rgmise versiooni vĂ€ljaandmiseni. Pikaajalise toe (LTS) jaoks on soovitatav kasutada Java SE 11, mille uuendusi avaldatakse kuni 2026. aastani. Eelmise LTS-versiooni, Java 8, tugi kestab kuni 2020. aasta detsembrini. JĂ€rgmine LTS-vĂ€ljaanne on planeeritud 2021. aasta septembriks. Tuletame meelde, et alates Java 10 vĂ€ljaandmisest on projekt lĂ€inud ĂŒle uuele arendusprotsessile, mis tĂ€hendab lĂŒhemat uut versioonitsĂŒkli kestust. Uut funktsionaalsust arendatakse nĂŒĂŒd ĂŒhes pidevalt uuendatavates master-haru, kuhu lisatakse juba valmis muudatused ja millest harutatakse langevad stabiliseerimise harud iga kuue kuu tagant. Java 14 vĂ€ljalaskmine on planeeritud jĂ€rgmiseks mĂ€rtsiks, mille eelversioonid on juba testimiseks.
Uusimad :
- CDS (Class-Data Sharing) arhiivide dĂŒnaamilise tĂ€iendamise tugi, mis vĂ”imaldab rakendustega jagada ĂŒhiseid klasse. CDS-i abil saavad ĂŒhised klassid olla paigutatud eraldi jagatud arhiividesse, mis kiirendab rakenduste kĂ€ivitamist ja vĂ€hendab kulusid. Uues versioonis on lisatud vahendid klasside dĂŒnaamiliseks arhiivimiseks pĂ€rast rakenduse lĂ”petamist. Arhiivi paigutatud klassid hĂ”lmavad kĂ”iki programme kĂ€itamise ajal laaditud klasse ja seotud teeke, mis olid algses pĂ”hjalikus CDS-arhiivis puuduvad;
- ZGC (Z Garbage Collector) prĂŒgikoguja tugi mittekasutatava mĂ€lu tagastamiseks operatsioonisĂŒsteemile;
- uuendatud Legacy Socket API (java.net.Socket ja java.net.ServerSocket) teostus, mis on lihtsam hooldada ja siluda. Lisaks on pakutava teostuse kohandamine uue kasutajaruumi (fibers) voosĂŒsteemi jaoks, mida arendatakse Loom projekti raames, samuti lihtsam;
- uue âswitchâ avaldumisvormi arendamine. Lisatud katseversioon (Preview), mis vĂ”imaldab kasutada âswitchâ mitte ainult operaatorina, vaid ka avaldumisena. NĂ€iteks on nĂŒĂŒd vĂ”imalik kasutada jĂ€rgmist tĂŒĂŒpi konstruktsioone:
int numLetters = switch (day) {
case MONDAY, FRIDAY, SUNDAY -> 6;
case TUESDAY -> 7;
case THURSDAY, SATURDAY -> 8;
case WEDNESDAY -> 9;
};vÔi
System.out.println(
switch (k) {
case 1 -> âoneâ
case 2 -> âtwoâ
default -> âmanyâ
}
);Tulevikus on plaanis selle pÔhjal mallide pÔhjal vastandamist;
- eksperimenteeritud tekstiblokkide tugi â uus string literalite vorm, mis vĂ”imaldab sulandada mitmerealisi tekstilisi andmeid allika koodi ilma sĂŒmbolite varjutamiseta ja sĂ€ilitades tekstibloki algse vormingu. Bloki piiritlemine toimub kolme topelttsiteedi abil. NĂ€iteks, selle asemel, et kasutada vĂ€ljendit
String query = âSELECT `EMP_ID`, `LAST_NAME` FROM `EMPLOYEE_TB`\nâ +
âWHERE `CITY` = âINDIANAPOLISâ\nâ +
âORDER BY `EMP_ID`, `LAST_NAME`;\nâ;on nĂŒĂŒd vĂ”imalik rakendada konstruktsiooni:
String query = âââ
SELECT `EMP_ID`, `LAST_NAME` FROM `EMPLOYEE_TB`
WHERE `CITY` = âINDIANAPOLISâ
ORDER BY `EMP_ID`, `LAST_NAME`;
«»»; - Sulgetud on 2126 veateadet, millest 1454 on kĂ”rvaldanud Oracle'i töötajad ja 671 kolmandad osalised, kellest ĂŒks kuues osa muudatustest on tehtud sĂ”ltumatute arendajate poolt, samas kui ĂŒlejÀÀnud on pĂ€rit sellistelt ettevĂ”tetelt nagu IBM, Red Hat, Google, Loongson, Huawei, ARM ja SAP.
Allikas: opennet.ru
