Dopo sei mesi di sviluppo, Oracle la piattaforma (Java Platform, Standard Edition 13), la cui implementazione di riferimento si basa sul progetto open source OpenJDK. In Java SE 13 è mantenuta la compatibilità con le versioni precedenti della piattaforma Java, tutti i progetti Java già scritti funzioneranno senza modifiche con la nuova versione. Le distribuzioni pronte per l'installazione di Java SE 13 (JDK, JRE e Server JRE) sono disponibili per Linux (x86_64), Solaris, Windows e macOS. L'implementazione di riferimento sviluppata sotto il progetto OpenJDK è completamente open source sotto la licenza GPLv2 con eccezioni GNU ClassPath, che consentono il collegamento dinamico con prodotti commerciali.
Java SE 13 è classificato come una versione con supporto standard, con aggiornamenti previsti fino al prossimo rilascio. Per una versione a lungo termine (LTS), si consiglia di utilizzare Java SE 11, i cui aggiornamenti saranno rilasciati fino al 2026. La precedente versione LTS, Java 8, sarà supportata fino a dicembre 2020. Il prossimo rilascio LTS è previsto per settembre 2021. Ricordiamo che a partire dal rilascio di Java 10, il progetto è passato a un nuovo processo di sviluppo, che prevede cicli di rilascio più brevi. Le nuove funzionalità ora vengono sviluppate in un ramo master costantemente aggiornato, dove vengono incluse modifiche già pronte e da cui si diramano rami per stabilizzare i nuovi rilasci ogni sei mesi. Il rilascio di Java 14 è programmato per marzo dell'anno prossimo, di cui già sono disponibili compilazioni preliminari. per i test.
Da :
- supporto per il caricamento dinamico degli archivi CDS (Class-Data Sharing), che consente l'accesso condiviso delle applicazioni a classi comuni. Con CDS, le classi condivise possono essere collocate in un unico archivio condiviso, consentendo di velocizzare l'avvio delle applicazioni e ridurre i costi. Nella nuova versione sono stati aggiunti strumenti per l'archiviazione dinamica delle classi al termine dell'esecuzione dell'applicazione. Le classi inserite nell'archivio includono tutte le classi caricate durante l'esecuzione del programma e le librerie associate che mancavano nell'archivio CDS di base fornito inizialmente;
- Raccoglitore di spazzatura ZGC (Z Garbage Collector) supporto per il reintegro della memoria non utilizzata nel sistema operativo;
- implementazione rielaborata dell'API Legacy Socket (java.net.Socket e java.net.ServerSocket), che è più semplice da mantenere e debuggare. Inoltre, l'implementazione proposta sarà più facile da adattare per lavorare con il nuovo sistema di thread nello spazio utente (fibers), sviluppato nell'ambito del progetto Loom;
- sviluppo di una nuova forma di espressioni "switch". È stata aggiunta un'opzione sperimentale (Preview) per utilizzare "switch" non solo come operatore, ma anche come espressione. Ad esempio, ora è possibile utilizzare costruzioni del tipo:
int numLetters = switch (day) {
case MONDAY, FRIDAY, SUNDAY -> 6;
case TUESDAY -> 7;
case THURSDAY, SATURDAY -> 8;
case WEDNESDAY -> 9;
};o
System.out.println(
switch (k) {
case 1 -> "one"
case 2 -> "two"
default -> "many"
}
);In futuro, sulla base di questa possibilità realizzare il supporto per la corrispondenza tramite modelli;
- supporto sperimentale per blocchi di testo — una nuova forma di letterali stringa che consente di includere dati testuali su più righe nel codice sorgente senza doverli eseguire l'escaping dei caratteri e mantenendo la formattazione originale del testo nel blocco. Il blocco è racchiuso da tre virgolette doppie. Ad esempio, invece dell'espressione
String query = "SELECT `EMP_ID`, `LAST_NAME` FROM `EMPLOYEE_TB`\n" +
"WHERE `CITY` = 'INDIANAPOLIS'\n" +
"ORDER BY `EMP_ID`, `LAST_NAME`;\n";ora è possibile utilizzare la seguente costruzione:
String query = """
SELECT `EMP_ID`, `LAST_NAME` FROM `EMPLOYEE_TB`
WHERE `CITY` = 'INDIANAPOLIS'
ORDER BY `EMP_ID`, `LAST_NAME`;
«»»; - Chiusi 2126 rapporti di errore, di cui 1454 risolti dai dipendenti Oracle e 671 da partecipanti esterni, di cui un sesto delle modifiche è stato apportato da sviluppatori indipendenti e il resto da rappresentanti di aziende come IBM, Red Hat, Google, Loongson, Huawei, ARM e SAP.
Fonte: opennet.ru
