SlideShare a Scribd company logo
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

PDF
eCertificate
Javier Santos
 
PDF
Java Platform Tradeoffs (Riga 2013)
Alexey Fyodorov
 
PDF
OCJP_eCertificate
Sharath Kallaje
 
PPTX
Swift at IBM: Mobile, open source and the drive to the cloud
Dev_Events
 
PDF
Java 2012 conference keynote - Java Strategy & Roadmap - WebLogic & GlassFish...
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
PDF
JDK 10 Java Module System
Wolfgang Weigend
 
PDF
Introduction to Java Micro Edition (ME) 8
terrencebarr
 
PDF
JDK versions and OpenJDK
Wolfgang Weigend
 
eCertificate
Javier Santos
 
Java Platform Tradeoffs (Riga 2013)
Alexey Fyodorov
 
OCJP_eCertificate
Sharath Kallaje
 
Swift at IBM: Mobile, open source and the drive to the cloud
Dev_Events
 
Java 2012 conference keynote - Java Strategy & Roadmap - WebLogic & GlassFish...
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
JDK 10 Java Module System
Wolfgang Weigend
 
Introduction to Java Micro Edition (ME) 8
terrencebarr
 
JDK versions and OpenJDK
Wolfgang Weigend
 

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

PPTX
GlassFish Roadmap
glassfish
 
PPTX
O Mundo Oracle e o Que Há de Novo no Java
Bruno Borges
 
PDF
JDK 8 and JDK 8 Updates in OpenJDK
Wolfgang Weigend
 
PDF
Why should i switch to Java SE 7
Vinay H G
 
PDF
Владимир Иванов (Oracle): Java: прошлое и будущее
Olga Lavrentieva
 
PDF
Javantura v6 - Java SE, Today and Tomorrow - Dalibor Topic
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
PDF
Java SE Subscription Workshop
MarketingArrowECS_CZ
 
PDF
Oracle ADF Architecture TV - Planning & Getting Started - Team, Skills and D...
Chris Muir
 
PDF
It's a jdk jungle out there - JDK 11 and OpenJDK 11
Wolfgang Weigend
 
PPTX
GlassFish in Production Environments
Bruno Borges
 
PPT
Java Community and Overview Track - March 2016
Yolande Poirier
 
PDF
JavaOne Update zur Java Plattform
Java Usergroup Berlin-Brandenburg
 
PDF
The State of Java under Oracle at JCertif 2011
Arun Gupta
 
PPTX
Oracle real time replica solution (Oracle GoldenGate) in Telco and FSI vertic...
Milomir Vojvodic
 
PPTX
Explaining the new Java release and licensing models
Mark West
 
PDF
Java Platform Tradeoffs (CEE SECR 2013)
Alexey Fyodorov
 
PDF
Replicate data between environments
DLT Solutions
 
PPTX
Java 101
javafxpert
 
PDF
JavaCro'14 - WebLogic-GlassFish-JaaS Strategy and Roadmap – Duško Vukmanović
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
PPTX
Con8833 access at scale for hundreds of millions of users final
OracleIDM
 
GlassFish Roadmap
glassfish
 
O Mundo Oracle e o Que Há de Novo no Java
Bruno Borges
 
JDK 8 and JDK 8 Updates in OpenJDK
Wolfgang Weigend
 
Why should i switch to Java SE 7
Vinay H G
 
Владимир Иванов (Oracle): Java: прошлое и будущее
Olga Lavrentieva
 
Javantura v6 - Java SE, Today and Tomorrow - Dalibor Topic
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
Java SE Subscription Workshop
MarketingArrowECS_CZ
 
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
Wolfgang Weigend
 
GlassFish in Production Environments
Bruno Borges
 
Java Community and Overview Track - March 2016
Yolande Poirier
 
JavaOne Update zur Java Plattform
Java Usergroup Berlin-Brandenburg
 
The State of Java under Oracle at JCertif 2011
Arun Gupta
 
Oracle real time replica solution (Oracle GoldenGate) in Telco and FSI vertic...
Milomir Vojvodic
 
Explaining the new Java release and licensing models
Mark West
 
Java Platform Tradeoffs (CEE SECR 2013)
Alexey Fyodorov
 
Replicate data between environments
DLT Solutions
 
Java 101
javafxpert
 
JavaCro'14 - WebLogic-GlassFish-JaaS Strategy and Roadmap – Duško Vukmanović
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
Con8833 access at scale for hundreds of millions of users final
OracleIDM
 
Ad

More from Alexey Fyodorov (13)

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

Recently uploaded (20)

PDF
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
PDF
Event Presentation Google Cloud Next Extended 2025
minhtrietgect
 
PDF
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
PDF
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
PPTX
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
PPTX
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
PPTX
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
PDF
REPORT: Heating appliances market in Poland 2024
SPIUG
 
PPTX
The-Ethical-Hackers-Imperative-Safeguarding-the-Digital-Frontier.pptx
sujalchauhan1305
 
PDF
Doc9.....................................
SofiaCollazos
 
PDF
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
PDF
Advances in Ultra High Voltage (UHV) Transmission and Distribution Systems.pdf
Nabajyoti Banik
 
PDF
A Day in the Life of Location Data - Turning Where into How.pdf
Precisely
 
PDF
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
PDF
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
PDF
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
PDF
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
PDF
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
PDF
AI-Cloud-Business-Management-Platforms-The-Key-to-Efficiency-Growth.pdf
Artjoker Software Development Company
 
PDF
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
Event Presentation Google Cloud Next Extended 2025
minhtrietgect
 
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
REPORT: Heating appliances market in Poland 2024
SPIUG
 
The-Ethical-Hackers-Imperative-Safeguarding-the-Digital-Frontier.pptx
sujalchauhan1305
 
Doc9.....................................
SofiaCollazos
 
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
Advances in Ultra High Voltage (UHV) Transmission and Distribution Systems.pdf
Nabajyoti Banik
 
A Day in the Life of Location Data - Turning Where into How.pdf
Precisely
 
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
AI-Cloud-Business-Management-Platforms-The-Key-to-Efficiency-Growth.pdf
Artjoker Software Development Company
 
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 

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 ([email protected]), @23derevo Ella Nekipelova ([email protected])
  • 17. Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 17