SlideShare uma empresa Scribd logo
Agenda
• Onde estamos ?
• Por Onde Começar ?
• Rode a aplicação com a JDK 11+.
• Compile a Aplicação com Java 11+.
• Modularize sua Biblioteca.
Em 2019 estavamos neste cenário
Fonte da pesquisa: https://www.jetbrains.com/lp/devecosystem-2019/java/
E em 2020 estamos neste cenário
Fonte da pesquisa: https://snyk.io/blog/jvm-ecosystem-report-2020/
E onde estamos agora ?
É hora de Migrar ?
É hora de Migrar ?
O que melhora com o upgrade ?
O que você ganha do JDK 8 para JDK 11+?
• Se adequa a versões mais recentes do Java.
• Suporte para Linux containers (Docker incluso).
• Suporte do parallel full garbage collection no G1.
• Pode usar Application Class-Data Sharing. (Link no QrCode)
• Pode usar o Flight Recorder e Heap Profiler, mesmo em ambiente produtivo grátis.
• Alocação de Heap em dispositivos de memórias alternativos.
• Novo set default de root authority certificates.
• Novos Garbage Collectors: ZGC,Epsilon e Shenondoah.
• Ahead-of-time compilation e GraalVM.
• Transport Layer Security (TLS) 1.3.
• JShell.
Por Onde Começar ?
Basicamente você tem três fases incrementais para
migrar:
1. Rode a aplicação existente com a JDK 11.
2. Compile a aplicação/bibliotecas com o Java 11.
3. Modularize a aplicação para usar o Sistema de
Módulos
Rode a aplicação com a JDK 11+ – Problemas esperados.
Foram Removidos da JDK:
• the JavaBeans Activation Framework (JAF) in
javax.activation
• CORBA in the packages javax.activity, javax.rmi,
javax.rmi.CORBA, and org.omg.*
• the Java Transaction API (JTA) in the package
javax.transaction
• JAXB in the packages javax.xml.bind.*
• JAX-WS in the packages javax.jws, javax.jws.soap,
javax.xml.soap, and javax.xml.ws.*
• Commons Annotation in the package javax.annotation
Rode a aplicação com a JDK 11+ – Problemas esperados.
Você pode ter erro na compilação:
Se passar a compilação, a hora de executar:
Compile a Aplicação com Java 11+
• Local variable type inference (var keyword). (Link no QrCode)
• Novas collections APIs nativas e imutáveis.
• Novo reactive streams APIs.
• Melhorias em streams/predicate/optional APIs.
• Melhorias no system process API.
• Melhorias na files API.
• Suporte para HTTP/2.
• Standard Java Async HTTP client.
• Multi-release JARs.
Compile a Aplicação com Java 11+ – Problemas esperados.
Você pode ter erro na compilação:
Se passar a compilação, a hora de executar:
Modularize sua Biblioteca
• Permite o desenvolvimento Modularizado das
aplicações
• Um módulo é um conjunto de pacotes desenhados
para reuso.
• Transformar Bibliotecas em Módulos
• Encapsulamento Forte
• Configuração Confiável
• Classpath -> ModulePath
• Jdeps te ajuda a ver as dependências da sua aplicação
• Ajuda a criar uma JRE mínima para sua aplicação
• Diminui o footprint de memória da aplicação
• Otimizar o start da aplicação
Modularize sua Aplicação
Dúvidas
Desafios de Migrar para o Java 11+

Mais conteúdo relacionado

Mais procurados

TDC2018SP | Trilha Containers - Linux Conteineres na unha
TDC2018SP | Trilha Containers - Linux Conteineres na unhaTDC2018SP | Trilha Containers - Linux Conteineres na unha
TDC2018SP | Trilha Containers - Linux Conteineres na unha
tdc-globalcode
 
Estendendo o kubernetes
Estendendo o kubernetesEstendendo o kubernetes
Estendendo o kubernetes
Ricardo Katz
 
Otimizando sites com o nosql redis
Otimizando sites com o nosql redisOtimizando sites com o nosql redis
Otimizando sites com o nosql redis
Allisson Azevedo
 
TDC2018SP | Trilha Containers - Kubernetes: como a magica acontece?
TDC2018SP | Trilha Containers - Kubernetes: como a magica acontece?TDC2018SP | Trilha Containers - Kubernetes: como a magica acontece?
TDC2018SP | Trilha Containers - Kubernetes: como a magica acontece?
tdc-globalcode
 
Orquestrando Docker Containers: Machine, Swarm e Compose
Orquestrando Docker Containers: Machine, Swarm e ComposeOrquestrando Docker Containers: Machine, Swarm e Compose
Orquestrando Docker Containers: Machine, Swarm e Compose
Roberto Hashioka
 
Projeto OpenJDK [Java8]
Projeto OpenJDK [Java8]Projeto OpenJDK [Java8]
Projeto OpenJDK [Java8]
Otávio Santana
 
Deploying Docker Containers
Deploying Docker ContainersDeploying Docker Containers
Deploying Docker Containers
Hugo Henley
 
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...
Renato Groff
 
PostgreSql - Um banco de dados Open Source que figura entre os grandes
PostgreSql - Um banco de dados Open Source que figura entre os grandesPostgreSql - Um banco de dados Open Source que figura entre os grandes
PostgreSql - Um banco de dados Open Source que figura entre os grandes
joanio trade
 
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado - Janeiro-2020
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado - Janeiro-2020Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado - Janeiro-2020
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado - Janeiro-2020
Renato Groff
 
Light Talk: Introdução sobre Node.js
Light Talk: Introdução sobre Node.jsLight Talk: Introdução sobre Node.js
Light Talk: Introdução sobre Node.js
Caio Ribeiro Pereira
 
Monitoramento em tempo real (DEVDAY2015)
Monitoramento em tempo real (DEVDAY2015)Monitoramento em tempo real (DEVDAY2015)
Monitoramento em tempo real (DEVDAY2015)
Marcus Lacerda
 
Kubecon EU 2019 Remarks
Kubecon EU 2019 RemarksKubecon EU 2019 Remarks
Kubecon EU 2019 Remarks
Ricardo Katz
 

Mais procurados (13)

TDC2018SP | Trilha Containers - Linux Conteineres na unha
TDC2018SP | Trilha Containers - Linux Conteineres na unhaTDC2018SP | Trilha Containers - Linux Conteineres na unha
TDC2018SP | Trilha Containers - Linux Conteineres na unha
 
Estendendo o kubernetes
Estendendo o kubernetesEstendendo o kubernetes
Estendendo o kubernetes
 
Otimizando sites com o nosql redis
Otimizando sites com o nosql redisOtimizando sites com o nosql redis
Otimizando sites com o nosql redis
 
TDC2018SP | Trilha Containers - Kubernetes: como a magica acontece?
TDC2018SP | Trilha Containers - Kubernetes: como a magica acontece?TDC2018SP | Trilha Containers - Kubernetes: como a magica acontece?
TDC2018SP | Trilha Containers - Kubernetes: como a magica acontece?
 
Orquestrando Docker Containers: Machine, Swarm e Compose
Orquestrando Docker Containers: Machine, Swarm e ComposeOrquestrando Docker Containers: Machine, Swarm e Compose
Orquestrando Docker Containers: Machine, Swarm e Compose
 
Projeto OpenJDK [Java8]
Projeto OpenJDK [Java8]Projeto OpenJDK [Java8]
Projeto OpenJDK [Java8]
 
Deploying Docker Containers
Deploying Docker ContainersDeploying Docker Containers
Deploying Docker Containers
 
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...
 
PostgreSql - Um banco de dados Open Source que figura entre os grandes
PostgreSql - Um banco de dados Open Source que figura entre os grandesPostgreSql - Um banco de dados Open Source que figura entre os grandes
PostgreSql - Um banco de dados Open Source que figura entre os grandes
 
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado - Janeiro-2020
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado - Janeiro-2020Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado - Janeiro-2020
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado - Janeiro-2020
 
Light Talk: Introdução sobre Node.js
Light Talk: Introdução sobre Node.jsLight Talk: Introdução sobre Node.js
Light Talk: Introdução sobre Node.js
 
Monitoramento em tempo real (DEVDAY2015)
Monitoramento em tempo real (DEVDAY2015)Monitoramento em tempo real (DEVDAY2015)
Monitoramento em tempo real (DEVDAY2015)
 
Kubecon EU 2019 Remarks
Kubecon EU 2019 RemarksKubecon EU 2019 Remarks
Kubecon EU 2019 Remarks
 

Semelhante a Desafios de Migrar para o Java 11+

A arquitetura modular do Java 9
A arquitetura modular do Java 9A arquitetura modular do Java 9
A arquitetura modular do Java 9
Helder da Rocha
 
Introdução a Linguagem Java
Introdução a Linguagem JavaIntrodução a Linguagem Java
Introdução a Linguagem Java
UFPA
 
MC - Java Enterprise Edition 6 (Java EE)
MC - Java Enterprise Edition 6 (Java EE)MC - Java Enterprise Edition 6 (Java EE)
MC - Java Enterprise Edition 6 (Java EE)
Rodrigo Cândido da Silva
 
JavaEE 7, na era do cloud computing
JavaEE 7, na era do cloud computingJavaEE 7, na era do cloud computing
JavaEE 7, na era do cloud computing
Eder Magalhães
 
Jud con presentation_brazil_sergio-fantin
Jud con presentation_brazil_sergio-fantinJud con presentation_brazil_sergio-fantin
Jud con presentation_brazil_sergio-fantin
serjaumfantin
 
JBoss-WildFly - Avançado
JBoss-WildFly - AvançadoJBoss-WildFly - Avançado
JBoss-WildFly - Avançado
Adriano Schmidt
 
Java virtual machine quantas linguas fala a jvm2
Java virtual machine   quantas linguas fala a jvm2Java virtual machine   quantas linguas fala a jvm2
Java virtual machine quantas linguas fala a jvm2
Josenaldo de Oliveira Matos Filho
 
JavaFX Mobile
JavaFX MobileJavaFX Mobile
JavaFX Mobile
Claudiney Marques
 
Curso Android Slide 2 Introdução Plataforma - Wellington PInto de Oliveira
Curso Android Slide 2 Introdução Plataforma - Wellington PInto de OliveiraCurso Android Slide 2 Introdução Plataforma - Wellington PInto de Oliveira
Curso Android Slide 2 Introdução Plataforma - Wellington PInto de Oliveira
Wellington Oliveira
 
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrões
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrõesMC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrões
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrões
Rodrigo Cândido da Silva
 
Javafx
JavafxJavafx
TDC2011: Java EE 6 & Azure
TDC2011: Java EE 6 & AzureTDC2011: Java EE 6 & Azure
TDC2011: Java EE 6 & Azure
Dr. Spock
 
Java Fundamentos
Java FundamentosJava Fundamentos
Java Fundamentos
Wilson Lima
 
Java pode ser_hipster
Java pode ser_hipsterJava pode ser_hipster
Java pode ser_hipster
Antonio Lazaro Carvalho Borges
 
GlassFish, Maven, Cloud e Java EE
GlassFish, Maven, Cloud e Java EEGlassFish, Maven, Cloud e Java EE
GlassFish, Maven, Cloud e Java EE
Bruno Borges
 
Inovações Na Plataforma Java
Inovações Na Plataforma JavaInovações Na Plataforma Java
Inovações Na Plataforma Java
Filipe Portes
 
Integração contínua com Jenkins
Integração contínua com JenkinsIntegração contínua com Jenkins
Integração contínua com Jenkins
Aécio Pires
 
Novidades do JSF: Um tour completo no JSF 2.2
Novidades do JSF: Um tour completo no JSF 2.2Novidades do JSF: Um tour completo no JSF 2.2
Novidades do JSF: Um tour completo no JSF 2.2
Dr. Spock
 
Introdução a Application Life-cycle Management Open Source
Introdução a Application Life-cycle Management Open SourceIntrodução a Application Life-cycle Management Open Source
Introdução a Application Life-cycle Management Open Source
Globalcode
 
De 0 a DevOps
De 0 a DevOpsDe 0 a DevOps

Semelhante a Desafios de Migrar para o Java 11+ (20)

A arquitetura modular do Java 9
A arquitetura modular do Java 9A arquitetura modular do Java 9
A arquitetura modular do Java 9
 
Introdução a Linguagem Java
Introdução a Linguagem JavaIntrodução a Linguagem Java
Introdução a Linguagem Java
 
MC - Java Enterprise Edition 6 (Java EE)
MC - Java Enterprise Edition 6 (Java EE)MC - Java Enterprise Edition 6 (Java EE)
MC - Java Enterprise Edition 6 (Java EE)
 
JavaEE 7, na era do cloud computing
JavaEE 7, na era do cloud computingJavaEE 7, na era do cloud computing
JavaEE 7, na era do cloud computing
 
Jud con presentation_brazil_sergio-fantin
Jud con presentation_brazil_sergio-fantinJud con presentation_brazil_sergio-fantin
Jud con presentation_brazil_sergio-fantin
 
JBoss-WildFly - Avançado
JBoss-WildFly - AvançadoJBoss-WildFly - Avançado
JBoss-WildFly - Avançado
 
Java virtual machine quantas linguas fala a jvm2
Java virtual machine   quantas linguas fala a jvm2Java virtual machine   quantas linguas fala a jvm2
Java virtual machine quantas linguas fala a jvm2
 
JavaFX Mobile
JavaFX MobileJavaFX Mobile
JavaFX Mobile
 
Curso Android Slide 2 Introdução Plataforma - Wellington PInto de Oliveira
Curso Android Slide 2 Introdução Plataforma - Wellington PInto de OliveiraCurso Android Slide 2 Introdução Plataforma - Wellington PInto de Oliveira
Curso Android Slide 2 Introdução Plataforma - Wellington PInto de Oliveira
 
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrões
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrõesMC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrões
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrões
 
Javafx
JavafxJavafx
Javafx
 
TDC2011: Java EE 6 & Azure
TDC2011: Java EE 6 & AzureTDC2011: Java EE 6 & Azure
TDC2011: Java EE 6 & Azure
 
Java Fundamentos
Java FundamentosJava Fundamentos
Java Fundamentos
 
Java pode ser_hipster
Java pode ser_hipsterJava pode ser_hipster
Java pode ser_hipster
 
GlassFish, Maven, Cloud e Java EE
GlassFish, Maven, Cloud e Java EEGlassFish, Maven, Cloud e Java EE
GlassFish, Maven, Cloud e Java EE
 
Inovações Na Plataforma Java
Inovações Na Plataforma JavaInovações Na Plataforma Java
Inovações Na Plataforma Java
 
Integração contínua com Jenkins
Integração contínua com JenkinsIntegração contínua com Jenkins
Integração contínua com Jenkins
 
Novidades do JSF: Um tour completo no JSF 2.2
Novidades do JSF: Um tour completo no JSF 2.2Novidades do JSF: Um tour completo no JSF 2.2
Novidades do JSF: Um tour completo no JSF 2.2
 
Introdução a Application Life-cycle Management Open Source
Introdução a Application Life-cycle Management Open SourceIntrodução a Application Life-cycle Management Open Source
Introdução a Application Life-cycle Management Open Source
 
De 0 a DevOps
De 0 a DevOpsDe 0 a DevOps
De 0 a DevOps
 

Último

TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
Momento da Informática
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
Faga1939
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
Momento da Informática
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
WELITONNOGUEIRA3
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
TomasSousa7
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
Danilo Pinotti
 
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdfEscola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Gabriel de Mattos Faustino
 

Último (7)

TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
 
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdfEscola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
 

Desafios de Migrar para o Java 11+

  • 1.
  • 2.
  • 3. Agenda • Onde estamos ? • Por Onde Começar ? • Rode a aplicação com a JDK 11+. • Compile a Aplicação com Java 11+. • Modularize sua Biblioteca.
  • 4. Em 2019 estavamos neste cenário Fonte da pesquisa: https://www.jetbrains.com/lp/devecosystem-2019/java/
  • 5. E em 2020 estamos neste cenário Fonte da pesquisa: https://snyk.io/blog/jvm-ecosystem-report-2020/
  • 6. E onde estamos agora ?
  • 7. É hora de Migrar ?
  • 8. É hora de Migrar ?
  • 9. O que melhora com o upgrade ? O que você ganha do JDK 8 para JDK 11+? • Se adequa a versões mais recentes do Java. • Suporte para Linux containers (Docker incluso). • Suporte do parallel full garbage collection no G1. • Pode usar Application Class-Data Sharing. (Link no QrCode) • Pode usar o Flight Recorder e Heap Profiler, mesmo em ambiente produtivo grátis. • Alocação de Heap em dispositivos de memórias alternativos. • Novo set default de root authority certificates. • Novos Garbage Collectors: ZGC,Epsilon e Shenondoah. • Ahead-of-time compilation e GraalVM. • Transport Layer Security (TLS) 1.3. • JShell.
  • 10. Por Onde Começar ? Basicamente você tem três fases incrementais para migrar: 1. Rode a aplicação existente com a JDK 11. 2. Compile a aplicação/bibliotecas com o Java 11. 3. Modularize a aplicação para usar o Sistema de Módulos
  • 11. Rode a aplicação com a JDK 11+ – Problemas esperados. Foram Removidos da JDK: • the JavaBeans Activation Framework (JAF) in javax.activation • CORBA in the packages javax.activity, javax.rmi, javax.rmi.CORBA, and org.omg.* • the Java Transaction API (JTA) in the package javax.transaction • JAXB in the packages javax.xml.bind.* • JAX-WS in the packages javax.jws, javax.jws.soap, javax.xml.soap, and javax.xml.ws.* • Commons Annotation in the package javax.annotation
  • 12. Rode a aplicação com a JDK 11+ – Problemas esperados. Você pode ter erro na compilação: Se passar a compilação, a hora de executar:
  • 13. Compile a Aplicação com Java 11+ • Local variable type inference (var keyword). (Link no QrCode) • Novas collections APIs nativas e imutáveis. • Novo reactive streams APIs. • Melhorias em streams/predicate/optional APIs. • Melhorias no system process API. • Melhorias na files API. • Suporte para HTTP/2. • Standard Java Async HTTP client. • Multi-release JARs.
  • 14. Compile a Aplicação com Java 11+ – Problemas esperados. Você pode ter erro na compilação: Se passar a compilação, a hora de executar:
  • 15. Modularize sua Biblioteca • Permite o desenvolvimento Modularizado das aplicações • Um módulo é um conjunto de pacotes desenhados para reuso. • Transformar Bibliotecas em Módulos • Encapsulamento Forte • Configuração Confiável • Classpath -> ModulePath • Jdeps te ajuda a ver as dependências da sua aplicação • Ajuda a criar uma JRE mínima para sua aplicação • Diminui o footprint de memória da aplicação • Otimizar o start da aplicação