SlideShare a Scribd company logo
M O D E R N O
JAVA
Rafael "Bleidi" Souza
JOINCOMMUNITY
3
4
6
8
13
15
17
20
Agenda
Agenda
Apresentação
Conceitos-chave
Modelo de Lançamento
Java: Do 8 ao 11
Java: Do 11 ao 14
Java: Do 14 ao 17
Java: Do 17 ao 21
JOINCOMMUNITY
21 Considerações Finais
JUGleader [GOJava]
Arquiteto II [Betha Sistemas]
Tech Recruiter
Mentor
SCJP | OCA | CSM
Rafael "Bleidi" Souza
JOINCOMMUNITY
Java User Group (2001)
JCP Member (2018)
JetBrains Community (2016)
Join Community (2013)
GOJava
JOINCOMMUNITY
Retrocompatibilidade <JRE>
mac, *nix, windows, embedded, IoT,
smart cards ...
Orientada a Objetos
Funcional
Reativo
Científico/Lógico (Fortress, Flix..)
ML (Yeti, Weka...)
MULTIPARADIGMA PORTÁVEL COMPATIBILIDADE
bytecode
máquina virtual (JVM/JRE)
"write once, run everywhere"
CARACTERÍSTICAS
JOINCOMMUNITY
Techies
Netflix (11~14.9% tráfego)
Uber
PayPal
Airbnb
Spotify
Palatforma
Hadoop / Kafka
Kafka
#3 TIOBE
#5 StackOverflow (Professional)
#3 Learning
#2 Código Fonte TV [2023]
#1 <média salarial>
#1 Mobile (67,72%)
#2 Games (95Mi)
POPULARIDADE COMUNIDADE RELEVÂNCIA
JUG
Vendors
Oracle, RedHat, Amazon,
Azul Systems, Alibaba....
JCP (JSR)
JEP
MicroProfile
Jakarta ( ̶J̶a̶v̶a̶ ̶E̶E̶)
ECOSSISTEMA
JOINCOMMUNITY
9 - 17
Releases
baseado em datas fixas
Novo modelo de lançamento
LTS + FEATURE RELEASE
Versões a cada seis meses (MAR
e SET) e LTS a cada 3 anos
(09.2018 + 3x)
> 17
LTS
A cada dois anos (09.2021 + 2x)
JOINCOMMUNITY
JOINCOMMUNITY
Java 11
25/09/2018
Python
20/02/1991
Java 17
14/09/2021
Java SE 8
18/03/2014
Java SE 6
11/12/2006
JDK 1.0
23/01/1996
J2SE 5.0
30/09/2004
J2SE 1.2
08/12/1998
JDK 1.1
19/02/1997
Javascript
04/12/1995
Ruby
21/12/1995
JDK 1.0
23/01/1996
JOINCOMMUNITY
JOINCOMMUNITY
Evoluções
JOINCOMMUNITY
Java 8 - 11 JSR 376: Java Platform Module
System
JEP 304: Garbage-Collector Interface
JEP 286: Local-Variable Type
Inference
JOINCOMMUNITY
Java 8 - 11
cgroups constraints
JEP 321: HTTP Client (Standard)
JEP 330: Launch Single-File Source-
Code Programs
JOINCOMMUNITY
Java 11 - 14 JEP 325/354/361: Switch
Expressions
JEP 355/368: Text Blocks (Preview)
JEP 359: Records (Preview)
JOINCOMMUNITY
Java 11 - 14
JEP 358: Helpful
NullPointerExceptions
JEP 305: Pattern Matching for
instanceof (Preview)
JEP 189: Shenandoah (experimental)
JOINCOMMUNITY
Java 14 - 17 JEP 360/397/409: Sealed Classes
JEP 378/397: Text Blocks
JEP 379: Shenandoah
JEP 377: ZGC
JOINCOMMUNITY
Java 14 - 17
JEP 372: Remove the Nashorn
JavaScript Engine
JEP 373: Reimplement the Legacy
DatagramSocket API
JEP 369: Migrate to GitHub
JOINCOMMUNITY
Java 14 - 17 JEP 356: Enhanced Pseudo-Random
Number Generators
JEP 392: Packaging Tool
JEP 403: Strongly Encapsulate JDK
Internals
JOINCOMMUNITY
Java 17 - 21
JEP 408: Simple Web Server
JEP 425/436/444: Virtual Threads
JEP 420/427/441: Switch Pattern
Mataching
JEP 405/432/440: Record Patterns
JOINCOMMUNITY
Virtual Threads
JOINCOMMUNITY
Obrigado
goiasjava@gmail.com
linkedin.com/in/rafaelbleidi/
JOINCOMMUNITY
JOINCOMMUNITY

More Related Content

Similar to Java Moderno.pdf

Playframework + Twitter Bootstrap
Playframework + Twitter BootstrapPlayframework + Twitter Bootstrap
Playframework + Twitter Bootstrap
Kevingo Tsai
 

Similar to Java Moderno.pdf (20)

JCConf 2018 - Retrospect and Prospect of Java
JCConf 2018 - Retrospect and Prospect of JavaJCConf 2018 - Retrospect and Prospect of Java
JCConf 2018 - Retrospect and Prospect of Java
 
Jet presentation
Jet presentationJet presentation
Jet presentation
 
Powering the Next Generation Services with Java Platform - Spark IT 2010
Powering the Next Generation Services with Java Platform - Spark IT 2010Powering the Next Generation Services with Java Platform - Spark IT 2010
Powering the Next Generation Services with Java Platform - Spark IT 2010
 
Java and OpenJDK: disecting the ecosystem
Java and OpenJDK: disecting the ecosystemJava and OpenJDK: disecting the ecosystem
Java and OpenJDK: disecting the ecosystem
 
Retour JavaOne 2009
Retour JavaOne 2009Retour JavaOne 2009
Retour JavaOne 2009
 
Playframework + Twitter Bootstrap
Playframework + Twitter BootstrapPlayframework + Twitter Bootstrap
Playframework + Twitter Bootstrap
 
The Forces Driving Java
The Forces Driving JavaThe Forces Driving Java
The Forces Driving Java
 
TDC2016SP - Trilha NoSQL
TDC2016SP - Trilha NoSQLTDC2016SP - Trilha NoSQL
TDC2016SP - Trilha NoSQL
 
Rapid Network Application Development with Apache MINA
Rapid Network Application Development with Apache MINARapid Network Application Development with Apache MINA
Rapid Network Application Development with Apache MINA
 
Java: Rumours of my demise are greatly exaggerated
Java: Rumours of my demise are greatly exaggeratedJava: Rumours of my demise are greatly exaggerated
Java: Rumours of my demise are greatly exaggerated
 
Java one 2010
Java one 2010Java one 2010
Java one 2010
 
Java 8 Lambda
Java 8 LambdaJava 8 Lambda
Java 8 Lambda
 
What's new in Java EE 7? From HTML5 to JMS 2.0
What's new in Java EE 7? From HTML5 to JMS 2.0What's new in Java EE 7? From HTML5 to JMS 2.0
What's new in Java EE 7? From HTML5 to JMS 2.0
 
Reactive IoT, Java One 2016
Reactive IoT, Java One 2016Reactive IoT, Java One 2016
Reactive IoT, Java One 2016
 
Hinkmond's JavaFX Mobile Dojo
Hinkmond's JavaFX Mobile DojoHinkmond's JavaFX Mobile Dojo
Hinkmond's JavaFX Mobile Dojo
 
Practicing at the Cutting Edge: Learning and Unlearning about Java Performance
Practicing at the Cutting Edge: Learning and Unlearning about Java PerformancePracticing at the Cutting Edge: Learning and Unlearning about Java Performance
Practicing at the Cutting Edge: Learning and Unlearning about Java Performance
 
Java 8 for Tablets, Pis, and Legos
Java 8 for Tablets, Pis, and LegosJava 8 for Tablets, Pis, and Legos
Java 8 for Tablets, Pis, and Legos
 
Varun_resume
Varun_resumeVarun_resume
Varun_resume
 
Tnt 2020-jf-james
Tnt 2020-jf-jamesTnt 2020-jf-james
Tnt 2020-jf-james
 
JBUG 11 - Outside The Java Box
JBUG 11 - Outside The Java BoxJBUG 11 - Outside The Java Box
JBUG 11 - Outside The Java Box
 

More from Rafael Souza

Processo Ágil - por Sergio Calura
Processo Ágil - por Sergio CaluraProcesso Ágil - por Sergio Calura
Processo Ágil - por Sergio Calura
Rafael Souza
 

More from Rafael Souza (9)

As melhores práticas de desenvolvimento de software em fábrica de software
As melhores práticas de desenvolvimento de software em fábrica de softwareAs melhores práticas de desenvolvimento de software em fábrica de software
As melhores práticas de desenvolvimento de software em fábrica de software
 
Java? Script As novidades e atualizações na linguagem e máquina virtual
Java? Script As novidades e atualizações na linguagem e máquina virtualJava? Script As novidades e atualizações na linguagem e máquina virtual
Java? Script As novidades e atualizações na linguagem e máquina virtual
 
Java | Google4j - GDG DevFest Cerrado 2018
Java | Google4j - GDG DevFest Cerrado 2018   Java | Google4j - GDG DevFest Cerrado 2018
Java | Google4j - GDG DevFest Cerrado 2018
 
From 0 to continuous delivery
From 0 to continuous deliveryFrom 0 to continuous delivery
From 0 to continuous delivery
 
Poliglotismo & containers
Poliglotismo & containersPoliglotismo & containers
Poliglotismo & containers
 
Java + docker
Java + dockerJava + docker
Java + docker
 
Processo Ágil - por Sergio Calura
Processo Ágil - por Sergio CaluraProcesso Ágil - por Sergio Calura
Processo Ágil - por Sergio Calura
 
Java reativo
Java reativoJava reativo
Java reativo
 
Automação do ciclo de vida de software para Java
Automação do ciclo de vida de software para JavaAutomação do ciclo de vida de software para Java
Automação do ciclo de vida de software para Java
 

Recently uploaded

Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
Bhaskar Mitra
 

Recently uploaded (20)

AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří Karpíšek
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT Professionals
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and Planning
 

Java Moderno.pdf

  • 1. M O D E R N O JAVA Rafael "Bleidi" Souza JOINCOMMUNITY
  • 2. 3 4 6 8 13 15 17 20 Agenda Agenda Apresentação Conceitos-chave Modelo de Lançamento Java: Do 8 ao 11 Java: Do 11 ao 14 Java: Do 14 ao 17 Java: Do 17 ao 21 JOINCOMMUNITY 21 Considerações Finais
  • 3. JUGleader [GOJava] Arquiteto II [Betha Sistemas] Tech Recruiter Mentor SCJP | OCA | CSM Rafael "Bleidi" Souza JOINCOMMUNITY
  • 4. Java User Group (2001) JCP Member (2018) JetBrains Community (2016) Join Community (2013) GOJava JOINCOMMUNITY
  • 5. Retrocompatibilidade <JRE> mac, *nix, windows, embedded, IoT, smart cards ... Orientada a Objetos Funcional Reativo Científico/Lógico (Fortress, Flix..) ML (Yeti, Weka...) MULTIPARADIGMA PORTÁVEL COMPATIBILIDADE bytecode máquina virtual (JVM/JRE) "write once, run everywhere" CARACTERÍSTICAS JOINCOMMUNITY
  • 6. Techies Netflix (11~14.9% tráfego) Uber PayPal Airbnb Spotify Palatforma Hadoop / Kafka Kafka #3 TIOBE #5 StackOverflow (Professional) #3 Learning #2 Código Fonte TV [2023] #1 <média salarial> #1 Mobile (67,72%) #2 Games (95Mi) POPULARIDADE COMUNIDADE RELEVÂNCIA JUG Vendors Oracle, RedHat, Amazon, Azul Systems, Alibaba.... JCP (JSR) JEP MicroProfile Jakarta ( ̶J̶a̶v̶a̶ ̶E̶E̶) ECOSSISTEMA JOINCOMMUNITY
  • 7. 9 - 17 Releases baseado em datas fixas Novo modelo de lançamento LTS + FEATURE RELEASE Versões a cada seis meses (MAR e SET) e LTS a cada 3 anos (09.2018 + 3x) > 17 LTS A cada dois anos (09.2021 + 2x) JOINCOMMUNITY
  • 9. Java 11 25/09/2018 Python 20/02/1991 Java 17 14/09/2021 Java SE 8 18/03/2014 Java SE 6 11/12/2006 JDK 1.0 23/01/1996 J2SE 5.0 30/09/2004 J2SE 1.2 08/12/1998 JDK 1.1 19/02/1997 Javascript 04/12/1995 Ruby 21/12/1995 JDK 1.0 23/01/1996 JOINCOMMUNITY
  • 12. Java 8 - 11 JSR 376: Java Platform Module System JEP 304: Garbage-Collector Interface JEP 286: Local-Variable Type Inference JOINCOMMUNITY
  • 13. Java 8 - 11 cgroups constraints JEP 321: HTTP Client (Standard) JEP 330: Launch Single-File Source- Code Programs JOINCOMMUNITY
  • 14. Java 11 - 14 JEP 325/354/361: Switch Expressions JEP 355/368: Text Blocks (Preview) JEP 359: Records (Preview) JOINCOMMUNITY
  • 15. Java 11 - 14 JEP 358: Helpful NullPointerExceptions JEP 305: Pattern Matching for instanceof (Preview) JEP 189: Shenandoah (experimental) JOINCOMMUNITY
  • 16. Java 14 - 17 JEP 360/397/409: Sealed Classes JEP 378/397: Text Blocks JEP 379: Shenandoah JEP 377: ZGC JOINCOMMUNITY
  • 17. Java 14 - 17 JEP 372: Remove the Nashorn JavaScript Engine JEP 373: Reimplement the Legacy DatagramSocket API JEP 369: Migrate to GitHub JOINCOMMUNITY
  • 18. Java 14 - 17 JEP 356: Enhanced Pseudo-Random Number Generators JEP 392: Packaging Tool JEP 403: Strongly Encapsulate JDK Internals JOINCOMMUNITY
  • 19. Java 17 - 21 JEP 408: Simple Web Server JEP 425/436/444: Virtual Threads JEP 420/427/441: Switch Pattern Mataching JEP 405/432/440: Record Patterns JOINCOMMUNITY