Versione Java SE 13

Dopo sei mesi di sviluppo, Oracle rilasciato una piattaforma JavaSE 13 (Piattaforma Java, Standard Edition 13), il progetto open source OpenJDK viene utilizzato come implementazione di riferimento. Java SE 13 mantiene la compatibilità con le versioni precedenti della piattaforma Java; tutti i progetti Java scritti in precedenza funzioneranno senza modifiche una volta lanciati con la nuova versione. Build Java SE 13 pronte per l'installazione (JDK, JRE e Server JRE) preparato per Linux (x86_64), Solaris, Windows e macOS. Implementazione di riferimento sviluppata dal progetto OpenJDK Java 13 è completamente open source sotto la licenza GPLv2, con eccezioni GNU ClassPath che consentono il collegamento dinamico con prodotti commerciali.

Java SE 13 è classificato come rilascio di supporto generale e continuerà a ricevere aggiornamenti fino al rilascio successivo. Il ramo Long Term Support (LTS) dovrebbe essere Java SE 11, che continuerà a ricevere aggiornamenti fino al 2026. Il precedente ramo LTS di Java 8 sarà supportato fino a dicembre 2020. La prossima versione LTS è prevista per settembre 2021. Ricordiamo che a partire dal rilascio di Java 10, il progetto è passato a un nuovo processo di sviluppo, implicando un ciclo più breve per la formazione di nuove versioni. Le nuove funzionalità sono ora sviluppate in un ramo principale costantemente aggiornato, che include modifiche già pronte e da cui si diramano i rami ogni sei mesi per stabilizzare le nuove versioni. Il rilascio di Java 14 è previsto per marzo del prossimo anno, con già build di anteprima a disposizione per i test.

Di innovazioni Java 13 si può contrassegno:

  • Aggiunto da supporto per l'aggiunta dinamica di archivi CDS (Class-Data Sharing), fornendo accesso condiviso alle applicazioni alle classi comuni. Con CDS, le classi comuni possono essere inserite in un archivio separato e condiviso, consentendo alle applicazioni di avviarsi più rapidamente e ridurre il sovraccarico. La nuova versione aggiunge strumenti per l'archiviazione dinamica delle classi dopo la fine dell'esecuzione dell'applicazione. Le classi archiviate includono tutte le classi e le relative librerie caricate durante il funzionamento del programma che non erano presenti nell'archivio CDS di base fornito inizialmente;
  • Allo ZGC (Z Garbage Collector) aggiunto supporto per restituire la memoria inutilizzata al sistema operativo;
  • Coinvolto un'implementazione riprogettata dell'API Legacy Socket (java.net.Socket e java.net.ServerSocket) che è più semplice da mantenere ed eseguire il debug. Inoltre, l'implementazione proposta sarà più facile da adattare per funzionare con il nuovo sistema di fili nello spazio utente (fibre), sviluppato nell'ambito del progetto Loom;
  • Continua sviluppo di una nuova forma di espressione "switch". Aggiunta la possibilità sperimentale (Anteprima) di utilizzare “switch” sotto forma non solo di operatore, ma anche come espressione. Ad esempio, ora puoi utilizzare costrutti come:

    int numLettere = cambia (giorno) {
    caso LUNEDI, VENERDI, DOMENICA -> 6;
    caso MARTEDÌ -> 7;
    caso GIOVEDI, SABATO -> 8;
    caso MERCOLEDI -> 9;
    };

    o

    System.out.println(
    interruttore (k) {
    caso 1 -> "uno"
    caso 2 -> "due"
    predefinito -> "molti"
    }
    );

    In futuro, sulla base di questa funzionalità pianificato implementare il supporto per la corrispondenza dei modelli;

  • Aggiunto da supporto sperimentale per blocchi di testo: una nuova forma di stringhe letterali che consente di includere dati di testo su più righe nel codice sorgente senza utilizzare l'escape dei caratteri e preservando la formattazione originale del testo nel blocco. Il blocco è racchiuso tra tre virgolette doppie. Ad esempio, invece dell'espressione

    Query stringa = "SELECT `EMP_ID`, `LAST_NAME` FROM `EMPLOYEE_TB`\n" +
    "DOVE `CITTÀ` = 'INDIANAPOLI'\n" +
    "ORDINA PER `EMP_ID`, `COGNOME`;\n";

    Ora puoi usare la costruzione:

    Stringa query = """
    SELEZIONA `EMP_ID`, `COGNOME` DA `DIPENDENTE_TB`
    DOVE `CITTÀ` = 'INDIANAPOLI'
    ORDINA PER `EMP_ID`, `COGNOME`;
    """;

  • Sono state chiuse 2126 segnalazioni di bug, di cui 1454 risolte dai dipendenti Oracle e 671 da terze parti, di cui un sesto delle modifiche sono state apportate da sviluppatori indipendenti e il resto da rappresentanti di aziende come IBM, Red Hat, Google , Loongson, Huawei, ARM e SAP.

Versione Java SE 13

Fonte: opennet.ru

Aggiungi un commento