logo

Java 8 x Java 11

Java 11 foi disponibilizado publicamente em 25 de setembro de 2018 no mercado. É uma implementação de referência de código aberto da plataforma Java SE versão 11. O Java 11 foi lançado após quatro anos do lançamento do Java 8.

string contém java

Java 11 vem com novos recursos para fornecer mais funcionalidades. Abaixo estão os recursos adicionados nos quatro anos e meio entre essas duas versões.

Java 8 x Java 11

Modularidade

O Modularidade recurso não está disponível no Java 8. É uma das maiores mudanças adicionadas no Java 9. Ao usar a modularidade, podemos dividir nossos programas ou aplicativos em módulos diferentes. A modularidade nos permite testar nosso aplicativo facilmente e também gerenciar o acesso a quais partes do nosso código são voltadas ao público. Podemos compilar nosso código sem compilar o arquivo, simplesmente colocando-o no módulo sem nome. Ele se comporta da mesma maneira que o código de compilação do Java 8.

--liberar sinalizador

É uma combinação muito simples de -alvo e -fonte que nos permite -bootclasspath para compilar na versão mais antiga. O -liberação 8 é um exemplo que precisamos compilar no nível Java 8.

Lançamentos multi-jar

É um dos recursos adicionados no Java 11. Multi-jar fornece uma maneira de estabilizar o código com os recursos mais recentes do Java 11, mantendo o suporte e a funcionalidade para clientes Java 8.

Palavra-chave Var

Em Java 10, o palavra-chave var foi introduzida, que foi aprimorada no Java 11. A palavra-chave var é uma palavra-chave amigável ao desenvolvedor que nos ajuda a reduzir a codificação padrão. O tipo de infecção evita a repetição do mesmo texto indefinidamente, afetando apenas variáveis ​​locais.

Esquema de String de Versão

É outra mudança entre Java 8 e Java 11 que define como as strings de versão devem ser formatadas. Um novo esquema é introduzido para as versões. O esquema se parece com:

fluxo de filtro java
 .. 

Vamos entender a diferença entre as duas versões do Java com base nas descontinuações. Estas são as seguintes descontinuações que são feitas entre Java 8 e Java 11.

  1. No Java 11, o suporte para plug-ins do navegador Java foi removido e devido ao qual a API do miniaplicativo foi descontinuada.
    Observação: está apenas depreciado, ainda não removido.
  2. CMS, ou seja, Coletor de Lixo de Varredura de Marca Simultânea, está obsoleto e não é mais compatível no momento. A razão para removê-lo é reduzir a carga de manutenção da base do GCC.
  3. Com as rápidas mudanças na API ECMAScript, ela foi removida devido à quantidade de manutenção do mecanismo Nashorn JavaScript.
  4. No Java 9, o esquema de compactação foi aprimorado e, após essa melhoria, as ferramentas e APIs do Pack200 foram removidas.
  5. O módulo Java EE foi removido devido à sobreposição com a especificação da plataforma Java EE.
  6. O módulo CORBA foi removido devido à evolução independente do Java SE.

Diferença entre Java 8 e Java 11

Estas são as seguintes diferenças entre Java 8 e Java 11:

Sr. Não. Java 8 Java 11
1. A ferramenta appletviewer está disponível em Java 8. A ferramenta appletviewer não está disponível no Java 11.
2. Java 8 possui a classe AWTUtilities, que não recomendamos usar porque pode quebrar qualquer programa dependendo dela. No Java 11, a classe AWTUtilities não está disponível.
3. Possui menos métodos de string. Vários novos métodos de String, como isBlank(), lines(),repeat(n), stripLeading(), stripTrailing() e strip() são introduzidos.
4. Nenhuma variável especial é usada para parâmetros lambda. Java 11 nos permite usar variáveis ​​var para serem usadas em expressões lambda.
5. As tecnologias de implantação Java estão disponíveis no Java 8. As tecnologias de implantação Java foram removidas no Java 11.
6. JMC e JavaFX estão disponíveis no Oracle JDK. JMC e JavaFX foram removidos do Oracle JDK no Java 11.
7. Não existem métodos adequados para trabalhar com o arquivo. Em Java 11, existem vários métodos, como writeString(), readString() e isSameFile() que nos ajudam a realizar diversas operações no arquivo.
8. O reconhecimento de padrões não é possível. O reconhecimento de padrões é possível com a ajuda do método asMatchPredicate().