A lungo in divenire, Oracle ha finalmente rilasciato JDK (Java Development Kit) 17. Questa è la prima versione di supporto a lungo termine (LTS) a vedere la luce dal giorno JDK 11 tre anni fa. È vero, le nuove versioni di Java compaiono ogni sei mesi, a marzo ea settembre. Ma sono supportati solo fino all'arrivo del prossimo. Java 17, invece, sarà supportato per otto anni.
È stata inoltre implementata l'implementazione open source di Java 17, OpenJDK 17. Questo è concesso in licenza sotto la Gnu Public License, versione 2 (GPLv2). Oracle JDK 17 e le versioni future di JDK, tuttavia, sono fornite in base alla licenza NFTC (No-Fee Terms and Conditions) di Oracle. Questa è una licenza gratuita per Java 17. Rimane in vigore per un anno intero dopo la prossima versione di LTS. Successivamente, Java 17 sarà sotto la Oracle Technology Network License. Nessuna di queste sono, in senso stretto, licenze open source.
Tuttavia, alcuni vedono vantaggi in questo nuovo accordo di licenza. Arnal Dayaratna, Research VP of Software Development di IDC, ha affermato che si tratta di una “nuova licenza più rilassata che fornisce l'uso di produzione gratuito di Oracle JDK per un periodo di tempo prolungato”.
Oracle vuole anche accelerare il processo LTS. Se Oracle ottiene il suo desiderio, la prossima versione LTS sarà Java 21 a settembre 2023. La società ha collaborato con la comunità di sviluppatori Java e il Java Community Process (JCP) per modificare la cadenza di rilascio LTS da tre anni a due anni.< /p>
Come mai? Georges Saab, VP of Development di Oracle Java Platform Group, ha spiegato: “Negli ultimi tre anni abbiamo sentito quanto gli sviluppatori amino le ultime funzionalità e abbiamo visto l'ecosistema abbracciare davvero la cadenza di rilascio di sei mesi. Uno dei Le maggiori sfide che gli sviluppatori Java devono affrontare oggi è che la loro organizzazione consente loro di utilizzare solo l'ultima versione LTS. Spostando le versioni LTS a ogni due anni, gli sviluppatori che fanno parte di organizzazioni conservatrici ora hanno più scelta e accesso alle funzionalità che amano e desiderano use.”
Inoltre, Oracle promette che i clienti Oracle LTS e Java SE Subscription ottengano aggiornamenti di sicurezza, prestazioni e correzione di bug per Java 17 almeno fino a settembre 2029.
Tecnicamente , la nuova tazza di Java include migliaia di aggiornamenti di prestazioni, stabilità e sicurezza. Inoltre viene fornito con 14 PEC (proposte di miglioramento JDK). Questi sono miglioramenti del linguaggio e della piattaforma Java pensati per aiutare gli sviluppatori a essere più produttivi.
Forse il cambiamento più evidente, tuttavia, non è un miglioramento o un'aggiunta, ma una sottrazione. L'interfaccia di programmazione dell'applicazione (API) dell'applet Java, che è stata in Java quasi dal primo giorno, è finalmente scomparsa. Il plug-in del browser dell'applet era già stato rimosso in JDK 11. L'applet Java, sebbene popolare ai suoi tempi, era notoriamente insicuro. Ora le sue ultime tracce sono quasi scomparse. In Java 17 è stato deprecato, ma in realtà non verrà rimosso fino a una versione successiva.
Pensando di migliorare la sicurezza, con JEP 403: Java finalmente incapsula fortemente gli interni di JDK. Eri in grado di rilassare il forte incapsulamento di elementi interni tramite una singola opzione della riga di comando. Ciò ha portato a tutti i tipi di problemi di sicurezza e buchi. È ancora possibile accedere alle API interne esistenti, tramite sun.misc.Unsafe, ma ora sarà necessario enumerare, come parametri della riga di comando o attributi manifest del file JAR, ogni pacchetto per il quale l'incapsulamento dovrebbe essere rilassato. In altre parole, non puoi più semplicemente consentire l'accesso “tutto va bene” agli elementi interni.
Oracle spera anche che Java venga utilizzato più spesso nel cloud. Per accelerare l'adozione del cloud Java, Oracle ha recentemente introdotto Oracle Java Management Service. Questo è un nuovo servizio nativo di Oracle Cloud Infrastructure (OCI) per aiutare le organizzazioni a gestire i runtime e le applicazioni Java in locale o su qualsiasi cloud. Questo copre tutte le versioni Java installate nel loro ambiente, comprese le versioni di Java in esecuzione in sviluppo e in produzione. Evidenzia anche tutte le applicazioni Java non pianificate in esecuzione e controlla se tutte le versioni Java installate sono aggiornate con le ultime patch di sicurezza.
Non si tratta solo di inserire Java nel cloud; Oracle ha anche aggiunto miglioramenti per rendere Java più compatibile con i Mac. Ciò include JEP 382, una nuova pipeline di rendering macOS e il supporto per il nuovo processore Apple M1.
Mentre molti sviluppatori prendono in giro Java, la semplice verità è che le aziende dipendono ancora da esso e gli sviluppatori lo usano ancora. Nel più recente sondaggio sul linguaggio di Red Monk, Java è tornato al secondo posto come lingua più utilizzata.
Non è solo Java della vecchia scuola che sta migliorando e guadagnando sviluppatori. Anche Jakarta EE, la Enterprise Edition (EE) di Java, che ora è gestita dalla Eclipse Foundation, sta guadagnando popolarità. “Dal passaggio del “big bang” allo spazio dei nomi di Jakarta con Jakarta EE 9, l'enterprise Java ha vissuto una sorta di rinascita”, ha affermato Mike Milinkovich, direttore esecutivo della Fondazione Eclipse. “Con il piano per Jakarta EE 10 già formalizzato e la continua crescita nell'uso di Jakarta EE 9, il futuro cloud-native dell'impresa open source Java non è mai stato così brillante.”
Milinkovich non lo è. sbagliato.
Storie correlate:
Passa da programmatore Java principiante a programmatore Java avanzato con questa formazioneOracle rilascia Java 16 con 17 nuovi miglioramentiGoogle batte Oracle nel più grande caso della Corte Suprema sul copyright di programmazione di sempre
Argomenti correlati:
Cloud Open Source Big Data Analytics Innovazione Collaborazione tecnica e lavorativa