Oracle lansează Java 19 cu șapte îmbunătățiri semnificative • The Register


Oracle a marcat marți lansarea Java 19 (JDK 19), cea mai recentă iterație a popularului limbaj de programare de uz general.

În prezentarea de diapozitive evanghelistică care însoțește această lansare, Oracle clasifică Java drept „limbajul numărul 1 pentru tendințele tehnologice de astăzi” și „limbajul numărul 1 în utilizarea generală a dezvoltării organizaționale”. Compania citează, de asemenea, constatările companiei de consultanță VDC Research conform cărora „Java este alegerea #1 pentru cloud”.

Când este măsurat în termeni mai generali, Java ocupă locul 2, 3 sau 5, în funcție de studiul limbajului de programare citat. Dar popularitatea limbajelor de programare în sine, prin orice măsură, nu construiește neapărat un ecosistem.

Este suficient să spunem că Java continuă să fie extrem de important pentru Oracle, pentru cei aproximativ 10 milioane de dezvoltatori Java care roaming în lume și pentru cele 60 de miliarde de Java Virtual Machines (JVM) active care se bazează pe o programare veche de 27 de ani.

Oracle JDK se bazează pe OpenJDK, implementarea de referință open source a Java SE Platform Edition. Oracle JDK este disponibil sub o licență de abonament, în timp ce OpenJDK este oferit sub o licență GPL.

JDK 19 vine cu șapte propuneri de îmbunătățire JDK la șase luni după JDK 18. Potrivit Oracle, este o cadență care echilibrează nevoile dezvoltatorilor, clienților și întreținerii Java.

Înainte de 2017, afacerea cu baze de date și barista Java au așteptat câțiva ani între lansările Java, care în cele din urmă au cauzat întârzieri și în cele din urmă au devenit nesustenabile pe fondul ciclurilor de lansare accelerate susținute de Google, printre altele, în timpul tranziției de la computerul on-premise la cloud computing.

Pista interioară

Într-un interviu cu RegistrulGeorges Saab, vicepreședintele senior pentru dezvoltare Oracle pentru platforma Java și președintele consiliului OpenJDK, a declarat că aceasta este a zecea lansare din ciclul de lansare de șase luni.

„Toate aceste lansări au apărut la data și ora stabilite”, a spus Saab. „Nu au existat întârzieri de când am trecut la acest model, ceea ce, după cum probabil știți, nu a fost întotdeauna cazul cu modelul anterior pe care îl aveam”.

Saab a spus că rezultatul a fost acela de a putea aduce inovația în mâinile dezvoltatorilor mai rapid decât a fost posibil în timpul ciclurilor de lansare de mai mulți ani.

„În trecut, de multe ori trebuiau să aștepte destul de mult timp pentru a obține ceva nou în Java, iar apoi au primit prea mult, dintr-o dată”, a explicat el.

„Ne dăm seama că nu toată lumea vrea să reformeze totul la fiecare șase luni”, a spus Saab. „Și, așadar, un lucru important pe care l-am făcut acolo a fost să oferim abonamentul Java SE pentru asistență pe termen lung, asigurându-ne că companiile care doresc confortul de a rămâne pe o singură versiune și primesc actualizări în fiecare trimestru, pentru a le menține în siguranță, [can do that.]”

Ciclul de lansare accelerată al Java nu înseamnă neapărat că apar dintr-o dată noi funcții. Acestea apar adesea ca tehnologii de previzualizare, pentru a solicita feedback și ajustări ale comunității în versiunile ulterioare.

„Nu am găsit o modalitate magică de a face trei sau patru ani de muncă în șase luni”, a explicat Saab.

Astfel, procesul de dezvoltare Java a devenit iterativ și participativ, chiar dacă permite membrilor comunității să nu lanseze versiuni în timp ce caracteristicile se maturizează.

Îmbunătățirile aduse de comunitatea Java au fost organizate în jurul unor teme specifice.

„De exemplu”, a spus Saab, „proiectul Amber este un proiect pentru a lucra la îmbunătățiri ale limbajului Java și ale sintaxei Java, pentru a-l face mai modern, succint, mai ușor de utilizat și, mai presus de toate, mai ușor de citit și de înțeles. Leyden își propune să îmbunătățească timpul de pornire și timpul de încălzire. Loom este despre scalabilitate și duce scalabilitatea Java la nivelul următor.”

În Java 19, aceste proiecte tematice sunt exprimate în diferite propuneri de îmbunătățire a Java, sau JEP.

Ca parte a Proiectului Amber, JEP 405 oferă o privire de ansamblu asupra modelelor de înregistrare, o modalitate de a deconstrui valorile înregistrărilor legând fiecare componentă la o variabilă. Un alt copil al Proiectului Amber, JEP 427, Pattern Matching pentru comutator, intră în a treia sa previzualizare.

Din Project Loom există JEP 425, Virtual Threads, previzualizarea unei implementări ușoare de threading pentru a completa API-ul Streams mai robust.

„Am eliminat presupunerea de lungă durată că există o mapare unu-la-unu între un fir Java și un fir nativ”, a explicat Saab. „Cu firele de execuție virtuale, puteți avea zeci de mii de fire de execuție Java pe care să le mapați la un fir nativ.”

„Deși acest lucru nu este ceva ce majoritatea dezvoltatorilor Java [do every day]asta înseamnă că oamenii care scriu servere de înaltă performanță sau alte lucruri în care doresc să poată ajunge la acel nivel, au acum această nouă funcție pentru a-și scala aplicațiile și cadrele într-un mod care să nu îi obligă să schimbe programarea. model.”

O altă inițiativă Loom din cea mai recentă versiune este JEP 428, Structured Concurrency, un efort la nivel de incubație pentru a simplifica programarea cu mai multe fire.

Proiectul Panama aduce JEP 424, un API de previzualizare numit Foreign Function and Memory care permite programelor Java să comunice în afara JVM-ului cu biblioteci native și date native. Cealaltă extensie bazată pe Panama este JEP 426, a patra versiune de incubator a API-ului Vector, care permite dezvoltatorilor să creeze calcule vectoriale care să compileze eficient folosind instrucțiunile vectoriale cele mai potrivite pentru arhitecturile CPU acceptate.

În cele din urmă, există JEP 422, un port Linux/RISC-V care simplifică implementările Linux/RISC-V prin integrarea portului în depozitul JDK principal.

Saab a spus că, pe lângă aceste JEPS, versiunile Java încorporează peste o mie de remedieri de erori care îmbunătățesc stabilitatea și performanța. Clienții Java, a spus el, întârzie adesea upgrade-urile pentru că verifică lista de caracteristici și nu văd nimic de care au nevoie în mod evident. Dar el îndeamnă dezvoltatorii Java să urmeze programul „pentru că totul devine mai bine”.

nu astepta

Reticența de a face upgrade este obișnuită în lumea Java, unde companiile au motive să-și facă griji cu privire la potențialele incompatibilități. Potrivit companiei de monitorizare New Relic, Java 11, lansat în septembrie 2018, este cea mai populară versiune de Java astăzi (48%), urmată de Java 8, lansat în martie 2014 (46%). Ambele sunt versiuni de asistență pe termen lung (LTS).

Acest lucru se aliniază cu Raportul de productivitate pentru dezvoltatori JRebel Java 2022 care constată că principalul motiv pentru adoptarea unui upgrade JDK este o nouă versiune LTS (25%), care depășește justificări precum securitatea (23%), performanța (20%), caracteristicile noi ( 18%). ) și conformitate (14%).

Dar chiar și versiunile LTS sunt lente pentru a fi adoptate. Cea mai recentă versiune LTS, Java 17, din septembrie 2021, a reprezentat doar 0,37% din utilizarea Java în ianuarie 2022. Versiunile recente non-LTS (10, 12, 13, 14, 15 și 16) sunt, de asemenea, rare în New Relic Stats. .

Deci, poate dura ceva timp înainte ca Java 19 să devină semnificativ statistic. Următoarea versiune LTS ar trebui să fie Java 21 și nu Java 23. ®

Add Comment