Partiamo da quest'ultimo aspetto, cioè quello relativo alla local variable type inference, dove per "type inference" s'intende l'individuazione automatica del tipo di dato in un'espressione. Grazie a tale feature Java viene dotato di uno strumento con il quale estendere l'inferenza dei tipi anche alla dichiarazione delle variabili locali.

A ciò si aggiunga l'introduzione di un compilatore just-in-time in fase sperimentale, denominato Graal, utilizzabile su piattaforme Linux con architettura x64, la Parallel full garbage collection per il garbage collector G1 e l'ottimizzazione dei tempi di startup tramite una più efficace allocazione delle classi nell'archivio condiviso (class-data sharing).

Novità anche per Docker: quando viene eseguita in un sistema basato su Linux la Java Virtual Machine rileverà se si sta operando in un container. Informazioni come il numero di CPU coinvolte e la quantità totale di memoria allocata verranno estratte direttamente dalla JVM, senza dover interrogare la piattaforma ospitante. Sono state poi implementate nuove opzioni della JVM per consentire ad un utilizzatore di Docker di avere un maggior controllo sulla memoria di sistema e, nel contempo, sono stati corretti dei bug che influivano sull'esecuzione dei processi Java in Docker.

Interessante anche l'abilitazione di HotSpot per l'allocazione dell'object heap (la zona di memoria che contiene gli oggetti) in una memoria alternativa specificata dall'utente, come per esempio un modulo NVDIMM; un'opzione utile quando ci si trova a dover lavorare con architetture di memoria differenti tra loro. Andrebbero poi segnalati i nuovi metodi toUnmodifiableList, toUnmodifiableSet e toUnmodifiableMap, implementati nella classe Collectors del package Stream permettendo agli elementi di uno Stream di essere inseriti in una collection non modificabile.

Completiamo il quadro con il consolidamento dei repository JDK in un singolo repository, novità che semplificherà ulteriormente la gestione dei sorgenti, e con un avvio più rapido del jShell REPL tool che si rivelerà particolarmente vantaggioso nel caso di file contenenti un gran numero di snippet.

Via Oracle

1 CommentoDi' la tua

Il tuo indirizzo email non sarà mostrato pubblicamente. I campi obbligatori sono contrassegnati da *

Salve, sono un giovane studente universitario d'informatica. Anche se trovo molto interessante le novità della jdK 10, e spero di poter leggere a breve un dettagliato approfondimento (guida) alle novità della jdk10 in http://www.html.it/java/ , quello che attrae di più la mia attenzione sono le novità previste per la versione java 11, nello specifico la rimozione al supporto di: 1)CORBA 2)Java EE 3)javaFX Da giovane studente universitario, che da poco si è trovato a studiare questi argomenti (i primi due ad essere precisi),sarei veramente interessato a comprendere le implicazioni future di una tale scelta (Corba è alla base di javaEE e delle comunicazioni tra programmi standard alone ed applicazioni javaEE . Senza contare gli effetti alla famosa e tanto ostentata retro compatibilità di java. P.s. Perdonare eventuali imprecisioni\approssimazioni di un giovane studente.

javaNeofito
javaNeofito