SlideShare a Scribd company logo
1 of 22
Download to read offline
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

Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 

Recently uploaded (20)

Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 

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