SlideShare a Scribd company logo
1 of 17
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
1
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
2
The following is intended to outline our general product direction. It is intended
for information purposes only, and may not be incorporated into any contract.
It is not a commitment to deliver any material, code, or functionality, and should
not be relied upon in making purchasing decisions. The development, release,
and timing of any features or functionality described for Oracle’s products
remains at the sole discretion of Oracle.
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
3
https://twitter.com/navalny/status/326243610418884610
Java: how to thrive
in the changing world
Alexey Fedorov, Ella Nekipelova
Oracle Engineers, JCK Team, Java Platform Group
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
5
Agenda
 Bugs in your application
 Updating Java
 Java Platform Specification
 Compatibility: non-trivial example
 Summary
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
6
Java application environment
JDK
Hardware
Frameworks
OS
Your Java
Application
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
7
How to fix bugs
OS
JDK
Frameworks
App
Hardware
Create an issue or just fix it!
Create an issue. Opensource? Send a patch!
OracleJDK/OpenJDK: file a bug!
Create issue, wait for fix
Relax and enjoy 
Other vendors: it depends
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
8
Updates
 Your Application
– Company and project update procedures
Frameworks
– Maven
 OS
– Install patches
– Upgrade/Change OS
 Hardware
– Replace one server box with another
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
9
Updating Java
 Type of updates:
– Release update
 7u17 → 7u21
– Major platform update:
 Java 7 → Java 8
 Change Java vendor
– http://en.wikipedia.org/wiki/
List_of_Java_virtual_machines
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
10
How do we manage changes?
OpenJDK / Oracle JDK
 JDK QA: tests for
 Public APIs (java.awt.*)
 Private APIs (sun.awt.*)
Community
 Java users around the world
Java from other vendors
Should be certified
 Java Compatibility Kit (JCK)
 Hundred thousands
conformance tests
 Feedback from licencees
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
11
Problem
 Millions of Java application vs.
different versions and vendors
– How to agree?
Public specification play
role of the protocol!
API specification
(aka Javadoc)
Java
Language
Specification
(JLS)
Specification
Java Virtual Machine
Specification (JVMS)
Standalone
documents
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
12
Java Specification is a protocol!
SMTP
 Hundreds of clients vs.
hundreds of servers
 100s + 100s = 100s
 Timeline
1982 – RFC 821
2001 – RFC 2821
2008 – RFC 5321
… and protocol cannot be changed too often
Java
 Millions of applications vs. dozens
releases from dozens vendors
 1000000s + 10s = 1000000s
 Timeline
1996 – JDK 1.0 2002 – J2SE 1.4
1997 – J2SE 1.1 2004 – J2SE 5.0
1998 – J2SE 1.2 2006 – Java SE 6
2000 – J2SE 1.3 2011 – Java SE 7
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
13
Example: Adding null key to empty TreeMap
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
14
How do we manage specification?
 Special procedures/policies
– Multiple review for every change
 Tracking
 Accepting / Rejecting
Special tools - http://jcp.org/en/resources/tdk
– Signatures
 SigTest - http://sigtest.java.net/
– Specification markup and conformance tests binding
 SpecTrac / SpecDiff
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
15
Summary
 Updating the platform, which is used by hundreds millions
people around the world is a very difficult thing!
 Oracle has special tools, processes and policies
– Different policies for major releases (Java 7 → Java 8)
and for updates (7uXX)
– Tracking/Managing the Java Specification
 Special processes including multiple review
 Tools: SpecTrac, SigTest and others
Oracle takes care of you!
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
16
Java: how to thrive in the changing world
Q&A
Alexey Fedorov (alexey.x.fedorov@oracle.com), @23derevo
Ella Nekipelova (ella.nekipelova@oracle.com)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
17

More Related Content

Similar to Java: how to thrive in the changing world

GlassFish Roadmap
GlassFish RoadmapGlassFish Roadmap
GlassFish Roadmapglassfish
 
O Mundo Oracle e o Que Há de Novo no Java
O Mundo Oracle e o Que Há de Novo no JavaO Mundo Oracle e o Que Há de Novo no Java
O Mundo Oracle e o Que Há de Novo no JavaBruno Borges
 
JDK 8 and JDK 8 Updates in OpenJDK
JDK 8 and JDK 8 Updates in OpenJDKJDK 8 and JDK 8 Updates in OpenJDK
JDK 8 and JDK 8 Updates in OpenJDKWolfgang Weigend
 
Why should i switch to Java SE 7
Why should i switch to Java SE 7Why should i switch to Java SE 7
Why should i switch to Java SE 7Vinay H G
 
Владимир Иванов (Oracle): Java: прошлое и будущее
Владимир Иванов (Oracle): Java: прошлое и будущееВладимир Иванов (Oracle): Java: прошлое и будущее
Владимир Иванов (Oracle): Java: прошлое и будущееOlga Lavrentieva
 
Oracle ADF Architecture TV - Planning & Getting Started - Team, Skills and D...
Oracle ADF Architecture TV -  Planning & Getting Started - Team, Skills and D...Oracle ADF Architecture TV -  Planning & Getting Started - Team, Skills and D...
Oracle ADF Architecture TV - Planning & Getting Started - Team, Skills and D...Chris Muir
 
It's a jdk jungle out there - JDK 11 and OpenJDK 11
It's a jdk jungle out there - JDK 11 and OpenJDK 11It's a jdk jungle out there - JDK 11 and OpenJDK 11
It's a jdk jungle out there - JDK 11 and OpenJDK 11Wolfgang Weigend
 
GlassFish in Production Environments
GlassFish in Production EnvironmentsGlassFish in Production Environments
GlassFish in Production EnvironmentsBruno Borges
 
Developing Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12c
Developing Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12cDeveloping Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12c
Developing Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12cBruno Borges
 
Java Community and Overview Track - March 2016
Java Community and Overview Track - March 2016Java Community and Overview Track - March 2016
Java Community and Overview Track - March 2016Yolande Poirier
 
The State of Java under Oracle at JCertif 2011
The State of Java under Oracle at JCertif 2011The State of Java under Oracle at JCertif 2011
The State of Java under Oracle at JCertif 2011Arun Gupta
 
Oracle real time replica solution (Oracle GoldenGate) in Telco and FSI vertic...
Oracle real time replica solution (Oracle GoldenGate) in Telco and FSI vertic...Oracle real time replica solution (Oracle GoldenGate) in Telco and FSI vertic...
Oracle real time replica solution (Oracle GoldenGate) in Telco and FSI vertic...Milomir Vojvodic
 
Explaining the new Java release and licensing models
Explaining the new Java release and licensing modelsExplaining the new Java release and licensing models
Explaining the new Java release and licensing modelsMark West
 
Java Platform Tradeoffs (CEE SECR 2013)
Java Platform Tradeoffs (CEE SECR 2013)Java Platform Tradeoffs (CEE SECR 2013)
Java Platform Tradeoffs (CEE SECR 2013)Alexey Fyodorov
 
Replicate data between environments
Replicate data between environmentsReplicate data between environments
Replicate data between environmentsDLT Solutions
 

Similar to Java: how to thrive in the changing world (20)

GlassFish Roadmap
GlassFish RoadmapGlassFish Roadmap
GlassFish Roadmap
 
O Mundo Oracle e o Que Há de Novo no Java
O Mundo Oracle e o Que Há de Novo no JavaO Mundo Oracle e o Que Há de Novo no Java
O Mundo Oracle e o Que Há de Novo no Java
 
JDK 8 and JDK 8 Updates in OpenJDK
JDK 8 and JDK 8 Updates in OpenJDKJDK 8 and JDK 8 Updates in OpenJDK
JDK 8 and JDK 8 Updates in OpenJDK
 
Why should i switch to Java SE 7
Why should i switch to Java SE 7Why should i switch to Java SE 7
Why should i switch to Java SE 7
 
Владимир Иванов (Oracle): Java: прошлое и будущее
Владимир Иванов (Oracle): Java: прошлое и будущееВладимир Иванов (Oracle): Java: прошлое и будущее
Владимир Иванов (Oracle): Java: прошлое и будущее
 
Javantura v6 - Java SE, Today and Tomorrow - Dalibor Topic
Javantura v6 - Java SE, Today and Tomorrow - Dalibor TopicJavantura v6 - Java SE, Today and Tomorrow - Dalibor Topic
Javantura v6 - Java SE, Today and Tomorrow - Dalibor Topic
 
Java SE Subscription Workshop
Java SE Subscription WorkshopJava SE Subscription Workshop
Java SE Subscription Workshop
 
Oracle ADF Architecture TV - Planning & Getting Started - Team, Skills and D...
Oracle ADF Architecture TV -  Planning & Getting Started - Team, Skills and D...Oracle ADF Architecture TV -  Planning & Getting Started - Team, Skills and D...
Oracle ADF Architecture TV - Planning & Getting Started - Team, Skills and D...
 
It's a jdk jungle out there - JDK 11 and OpenJDK 11
It's a jdk jungle out there - JDK 11 and OpenJDK 11It's a jdk jungle out there - JDK 11 and OpenJDK 11
It's a jdk jungle out there - JDK 11 and OpenJDK 11
 
GlassFish in Production Environments
GlassFish in Production EnvironmentsGlassFish in Production Environments
GlassFish in Production Environments
 
Developing Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12c
Developing Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12cDeveloping Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12c
Developing Java EE Applications on IntelliJ IDEA with Oracle WebLogic 12c
 
Java Community and Overview Track - March 2016
Java Community and Overview Track - March 2016Java Community and Overview Track - March 2016
Java Community and Overview Track - March 2016
 
JavaOne Update zur Java Plattform
JavaOne Update zur Java PlattformJavaOne Update zur Java Plattform
JavaOne Update zur Java Plattform
 
The State of Java under Oracle at JCertif 2011
The State of Java under Oracle at JCertif 2011The State of Java under Oracle at JCertif 2011
The State of Java under Oracle at JCertif 2011
 
Oracle real time replica solution (Oracle GoldenGate) in Telco and FSI vertic...
Oracle real time replica solution (Oracle GoldenGate) in Telco and FSI vertic...Oracle real time replica solution (Oracle GoldenGate) in Telco and FSI vertic...
Oracle real time replica solution (Oracle GoldenGate) in Telco and FSI vertic...
 
Explaining the new Java release and licensing models
Explaining the new Java release and licensing modelsExplaining the new Java release and licensing models
Explaining the new Java release and licensing models
 
Java Platform Tradeoffs (CEE SECR 2013)
Java Platform Tradeoffs (CEE SECR 2013)Java Platform Tradeoffs (CEE SECR 2013)
Java Platform Tradeoffs (CEE SECR 2013)
 
Replicate data between environments
Replicate data between environmentsReplicate data between environments
Replicate data between environments
 
Java 101
Java 101Java 101
Java 101
 
JavaCro'14 - WebLogic-GlassFish-JaaS Strategy and Roadmap – Duško Vukmanović
JavaCro'14 - WebLogic-GlassFish-JaaS Strategy and Roadmap – Duško VukmanovićJavaCro'14 - WebLogic-GlassFish-JaaS Strategy and Roadmap – Duško Vukmanović
JavaCro'14 - WebLogic-GlassFish-JaaS Strategy and Roadmap – Duško Vukmanović
 

More from Alexey Fyodorov

Non-blocking Michael-Scott queue algorithm
Non-blocking Michael-Scott queue algorithmNon-blocking Michael-Scott queue algorithm
Non-blocking Michael-Scott queue algorithmAlexey Fyodorov
 
How threads help each other
How threads help each otherHow threads help each other
How threads help each otherAlexey Fyodorov
 
Помоги ближнему, или Как потоки помогают друг другу
Помоги ближнему, или Как потоки помогают друг другуПомоги ближнему, или Как потоки помогают друг другу
Помоги ближнему, или Как потоки помогают друг другуAlexey Fyodorov
 
Counter Wars (JEEConf 2016)
Counter Wars (JEEConf 2016)Counter Wars (JEEConf 2016)
Counter Wars (JEEConf 2016)Alexey Fyodorov
 
Non-blocking synchronization — what is it and why we (don't?) need it
Non-blocking synchronization — what is it and why we (don't?) need itNon-blocking synchronization — what is it and why we (don't?) need it
Non-blocking synchronization — what is it and why we (don't?) need itAlexey Fyodorov
 
Синхронизация без блокировок и СМС
Синхронизация без блокировок и СМССинхронизация без блокировок и СМС
Синхронизация без блокировок и СМСAlexey Fyodorov
 
Unsafe: to be or to be removed?
Unsafe: to be or to be removed?Unsafe: to be or to be removed?
Unsafe: to be or to be removed?Alexey Fyodorov
 
Общество Мертвых Потоков
Общество Мертвых ПотоковОбщество Мертвых Потоков
Общество Мертвых ПотоковAlexey Fyodorov
 
JDK: CPU, PSU, LU, FR — WTF?!
JDK: CPU, PSU, LU, FR — WTF?!JDK: CPU, PSU, LU, FR — WTF?!
JDK: CPU, PSU, LU, FR — WTF?!Alexey Fyodorov
 
Atomics, CAS and Nonblocking algorithms
Atomics, CAS and Nonblocking algorithmsAtomics, CAS and Nonblocking algorithms
Atomics, CAS and Nonblocking algorithmsAlexey Fyodorov
 
Процесс изменения платформы Java
Процесс изменения платформы JavaПроцесс изменения платформы Java
Процесс изменения платформы JavaAlexey Fyodorov
 

More from Alexey Fyodorov (13)

Non-blocking Michael-Scott queue algorithm
Non-blocking Michael-Scott queue algorithmNon-blocking Michael-Scott queue algorithm
Non-blocking Michael-Scott queue algorithm
 
How threads help each other
How threads help each otherHow threads help each other
How threads help each other
 
Помоги ближнему, или Как потоки помогают друг другу
Помоги ближнему, или Как потоки помогают друг другуПомоги ближнему, или Как потоки помогают друг другу
Помоги ближнему, или Как потоки помогают друг другу
 
Counter Wars (JEEConf 2016)
Counter Wars (JEEConf 2016)Counter Wars (JEEConf 2016)
Counter Wars (JEEConf 2016)
 
Non-blocking synchronization — what is it and why we (don't?) need it
Non-blocking synchronization — what is it and why we (don't?) need itNon-blocking synchronization — what is it and why we (don't?) need it
Non-blocking synchronization — what is it and why we (don't?) need it
 
Синхронизация без блокировок и СМС
Синхронизация без блокировок и СМССинхронизация без блокировок и СМС
Синхронизация без блокировок и СМС
 
Unsafe: to be or to be removed?
Unsafe: to be or to be removed?Unsafe: to be or to be removed?
Unsafe: to be or to be removed?
 
Общество Мертвых Потоков
Общество Мертвых ПотоковОбщество Мертвых Потоков
Общество Мертвых Потоков
 
JDK: CPU, PSU, LU, FR — WTF?!
JDK: CPU, PSU, LU, FR — WTF?!JDK: CPU, PSU, LU, FR — WTF?!
JDK: CPU, PSU, LU, FR — WTF?!
 
Atomics, CAS and Nonblocking algorithms
Atomics, CAS and Nonblocking algorithmsAtomics, CAS and Nonblocking algorithms
Atomics, CAS and Nonblocking algorithms
 
Philosophers
PhilosophersPhilosophers
Philosophers
 
Java in Motion
Java in MotionJava in Motion
Java in Motion
 
Процесс изменения платформы Java
Процесс изменения платформы JavaПроцесс изменения платформы Java
Процесс изменения платформы Java
 

Recently uploaded

Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
[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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
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
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 

Recently uploaded (20)

Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
[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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 

Java: how to thrive in the changing world

  • 1. Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 1
  • 2. Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 2 The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.
  • 3. Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 3 https://twitter.com/navalny/status/326243610418884610
  • 4. Java: how to thrive in the changing world Alexey Fedorov, Ella Nekipelova Oracle Engineers, JCK Team, Java Platform Group
  • 5. Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 5 Agenda  Bugs in your application  Updating Java  Java Platform Specification  Compatibility: non-trivial example  Summary
  • 6. Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 6 Java application environment JDK Hardware Frameworks OS Your Java Application
  • 7. Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 7 How to fix bugs OS JDK Frameworks App Hardware Create an issue or just fix it! Create an issue. Opensource? Send a patch! OracleJDK/OpenJDK: file a bug! Create issue, wait for fix Relax and enjoy  Other vendors: it depends
  • 8. Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 8 Updates  Your Application – Company and project update procedures Frameworks – Maven  OS – Install patches – Upgrade/Change OS  Hardware – Replace one server box with another
  • 9. Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 9 Updating Java  Type of updates: – Release update  7u17 → 7u21 – Major platform update:  Java 7 → Java 8  Change Java vendor – http://en.wikipedia.org/wiki/ List_of_Java_virtual_machines
  • 10. Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 10 How do we manage changes? OpenJDK / Oracle JDK  JDK QA: tests for  Public APIs (java.awt.*)  Private APIs (sun.awt.*) Community  Java users around the world Java from other vendors Should be certified  Java Compatibility Kit (JCK)  Hundred thousands conformance tests  Feedback from licencees
  • 11. Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 11 Problem  Millions of Java application vs. different versions and vendors – How to agree? Public specification play role of the protocol! API specification (aka Javadoc) Java Language Specification (JLS) Specification Java Virtual Machine Specification (JVMS) Standalone documents
  • 12. Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 12 Java Specification is a protocol! SMTP  Hundreds of clients vs. hundreds of servers  100s + 100s = 100s  Timeline 1982 – RFC 821 2001 – RFC 2821 2008 – RFC 5321 … and protocol cannot be changed too often Java  Millions of applications vs. dozens releases from dozens vendors  1000000s + 10s = 1000000s  Timeline 1996 – JDK 1.0 2002 – J2SE 1.4 1997 – J2SE 1.1 2004 – J2SE 5.0 1998 – J2SE 1.2 2006 – Java SE 6 2000 – J2SE 1.3 2011 – Java SE 7
  • 13. Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 13 Example: Adding null key to empty TreeMap
  • 14. Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 14 How do we manage specification?  Special procedures/policies – Multiple review for every change  Tracking  Accepting / Rejecting Special tools - http://jcp.org/en/resources/tdk – Signatures  SigTest - http://sigtest.java.net/ – Specification markup and conformance tests binding  SpecTrac / SpecDiff
  • 15. Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 15 Summary  Updating the platform, which is used by hundreds millions people around the world is a very difficult thing!  Oracle has special tools, processes and policies – Different policies for major releases (Java 7 → Java 8) and for updates (7uXX) – Tracking/Managing the Java Specification  Special processes including multiple review  Tools: SpecTrac, SigTest and others Oracle takes care of you!
  • 16. Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 16 Java: how to thrive in the changing world Q&A Alexey Fedorov (alexey.x.fedorov@oracle.com), @23derevo Ella Nekipelova (ella.nekipelova@oracle.com)
  • 17. Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 17