logo

Java 8 contro Java 11

Java 11 è stato reso pubblico sul mercato il 25 settembre 2018. Si tratta di un'implementazione di riferimento open source della piattaforma Java SE versione 11. Java 11 è stato rilasciato dopo quattro anni dal rilascio di Java 8.

Java 11 include nuove funzionalità per fornire più funzionalità. Di seguito sono riportate le funzionalità aggiunte nei quattro anni e mezzo tra queste due versioni.

Java 8 contro Java 11

Modularità

IL Modularità la funzionalità non è disponibile in Java 8. È uno dei più grandi cambiamenti aggiunti in Java 9. Utilizzando la modularità, possiamo dividere i nostri programmi o applicazioni in diversi moduli. La modularità ci consente di testare facilmente la nostra applicazione e anche di gestire l'accesso a quali parti del nostro codice sono pubbliche. Possiamo compilare il nostro codice senza compilare il file semplicemente inserendolo nel modulo senza nome. Si comporta allo stesso modo del codice di compilazione Java 8.

--rilascia flag

È una combinazione molto semplice di -bersaglio E -fonte che ci permette -bootclasspath per la compilazione nella versione precedente. IL -rilascio 8 è un esempio che dobbiamo compilare a livello Java 8.

Rilasci multi-jar

È una delle funzionalità aggiunte in Java 11. Multivaso fornisce un modo per mantenere il codice con le funzionalità più recenti di Java 11 mantenendo il supporto e la funzionalità per i client Java 8.

Parola chiave Var

In Java 10, il parola chiave var è stato introdotto, migliorato in Java 11. La parola chiave var è una parola chiave adatta agli sviluppatori che ci aiuta a ridurre la codifica standard. Il tipo di infezione impedisce di ripetere più e più volte lo stesso testo influenzando solo le variabili locali.

Schema della stringa di versione

È un'altra modifica tra Java 8 e Java 11 che definisce come devono essere formattate le stringhe di versione. Un nuovo schema introduce per le versioni. Lo schema è simile al seguente:

 .. 

Comprendiamo la differenza tra le due versioni di Java sulla base delle deprecazioni. Queste sono le seguenti deprecazioni effettuate tra Java 8 e Java 11.

  1. In Java 11, il supporto per i plugin del browser Java è stato rimosso e per questo motivo l'API dell'applet è stata deprecata.
    Nota: è solo ammortizzato, non ancora rimosso.
  2. CMS, ovvero Concurrent Mark Sweep Garbage Collector, è deprezzato e non è ora supportato. Il motivo della sua rimozione è quello di ridurre l’onere di mantenimento della base del GCC.
  3. Con le rapide modifiche all'API ECMAScript, è stata rimossa a causa della quantità di manutenzione del motore JavaScript Nashorn.
  4. In Java 9, lo schema di compressione è stato migliorato e, dopo questo miglioramento, gli strumenti e le API Pack200 sono stati rimossi.
  5. Il modulo Java EE è stato rimosso a causa della sovrapposizione con le specifiche della piattaforma Java EE.
  6. Il modulo CORBA è stato rimosso a causa dell'evoluzione indipendente da Java SE.

Differenza tra Java 8 e Java 11

Queste sono le seguenti differenze tra Java 8 e Java 11:

Signor No. Giava8 Giava11
1. Lo strumento appletviewer è disponibile in Java 8. Lo strumento appletviewer non è disponibile in Java 11.
2. Java 8 ha la classe AWTUtilities, che non ti consigliamo di utilizzare perché può interrompere qualsiasi programma dipendente da essa. In Java 11, la classe AWTUtilities non è disponibile.
3. Ha meno metodi di stringa. Vengono introdotti diversi nuovi metodi di String come isBlank(), lines(),repeat(n), stripLeading(), stripTrailing() e strip().
4. Per i parametri lambda non vengono utilizzate variabili speciali. Java 11 ci consente di utilizzare variabili var da utilizzare nelle espressioni lambda.
5. Le tecnologie di distribuzione Java sono disponibili in Java 8. Le tecnologie di distribuzione Java vengono rimosse in Java 11.
6. JMC e JavaFX sono disponibili in Oracle JDK. JMC e JavaFX vengono rimossi da Oracle JDK in Java 11.
7. Non esistono metodi adatti per lavorare con il file. In Java 11 esistono vari metodi, come writeString(), readString() e isSameFile() che ci aiutano a eseguire diverse operazioni sui file.
8. Il riconoscimento dei modelli non è possibile. Il riconoscimento dei modelli è possibile con l'aiuto del metodo asMatchPredicate().