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

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 JavaJoseph Kuo
 
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 2010Arun Gupta
 
Java and OpenJDK: disecting the ecosystem
Java and OpenJDK: disecting the ecosystemJava and OpenJDK: disecting the ecosystem
Java and OpenJDK: disecting the ecosystemRafael Winterhalter
 
Playframework + Twitter Bootstrap
Playframework + Twitter BootstrapPlayframework + Twitter Bootstrap
Playframework + Twitter BootstrapKevingo Tsai
 
The Forces Driving Java
The Forces Driving JavaThe Forces Driving Java
The Forces Driving JavaSteve Elliott
 
TDC2016SP - Trilha NoSQL
TDC2016SP - Trilha NoSQLTDC2016SP - Trilha NoSQL
TDC2016SP - Trilha NoSQLtdc-globalcode
 
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 MINAtrustinlee
 
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 exaggeratedSteve Dalton
 
Java one 2010
Java one 2010Java one 2010
Java one 2010scdn
 
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.0Bruno Borges
 
Reactive IoT, Java One 2016
Reactive IoT, Java One 2016Reactive IoT, Java One 2016
Reactive IoT, Java One 2016Kynetics
 
Hinkmond's JavaFX Mobile Dojo
Hinkmond's JavaFX Mobile DojoHinkmond's JavaFX Mobile Dojo
Hinkmond's JavaFX Mobile DojoStephen Chin
 
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 PerformanceC4Media
 
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 LegosStephen Chin
 
JBUG 11 - Outside The Java Box
JBUG 11 - Outside The Java BoxJBUG 11 - Outside The Java Box
JBUG 11 - Outside The Java BoxTikal Knowledge
 

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

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 softwareRafael Souza
 
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 virtualRafael Souza
 
Java | Google4j - GDG DevFest Cerrado 2018
Java | Google4j - GDG DevFest Cerrado 2018   Java | Google4j - GDG DevFest Cerrado 2018
Java | Google4j - GDG DevFest Cerrado 2018 Rafael Souza
 
From 0 to continuous delivery
From 0 to continuous deliveryFrom 0 to continuous delivery
From 0 to continuous deliveryRafael Souza
 
Poliglotismo & containers
Poliglotismo & containersPoliglotismo & containers
Poliglotismo & containersRafael Souza
 
Processo Ágil - por Sergio Calura
Processo Ágil - por Sergio CaluraProcesso Ágil - por Sergio Calura
Processo Ágil - por Sergio CaluraRafael Souza
 
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 JavaRafael 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

From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...Product School
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Product School
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaCzechDreamin
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
 
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxWSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxJennifer Lim
 
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)Julian Hyde
 
The architecture of Generative AI for enterprises.pdf
The architecture of Generative AI for enterprises.pdfThe architecture of Generative AI for enterprises.pdf
The architecture of Generative AI for enterprises.pdfalexjohnson7307
 
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 StaveleyJohn Staveley
 
PLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsPLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsStefano
 
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀DianaGray10
 
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka DoktorováCzechDreamin
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutesconfluent
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoTAnalytics
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsPaul Groth
 
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 PlanningIES VE
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomCzechDreamin
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...Product School
 
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 1DianaGray10
 
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 QualityInflectra
 

Recently uploaded (20)

From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxWSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
 
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)
 
The architecture of Generative AI for enterprises.pdf
The architecture of Generative AI for enterprises.pdfThe architecture of Generative AI for enterprises.pdf
The architecture of Generative AI for enterprises.pdf
 
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
 
PLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsPLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. Startups
 
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
 
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutes
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
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
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
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
 
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
 

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