Java: how to thrive in the changing world

667 views

Published on

Published in: Technology, News & Politics
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
667
On SlideShare
0
From Embeds
0
Number of Embeds
104
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Java: how to thrive in the changing world

  1. 1. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.1
  2. 2. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.2The following is intended to outline our general product direction. It is intendedfor information purposes only, and may not be incorporated into any contract.It is not a commitment to deliver any material, code, or functionality, and shouldnot be relied upon in making purchasing decisions. The development, release,and timing of any features or functionality described for Oracle’s productsremains at the sole discretion of Oracle.
  3. 3. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.3https://twitter.com/navalny/status/326243610418884610
  4. 4. Java: how to thrivein the changing worldAlexey Fedorov, Ella NekipelovaOracle Engineers, JCK Team, Java Platform Group
  5. 5. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.5Agenda Bugs in your application Updating Java Java Platform Specification Compatibility: non-trivial example Summary
  6. 6. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.6Java application environmentJDKHardwareFrameworksOSYour JavaApplication
  7. 7. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.7How to fix bugsOSJDKFrameworksAppHardwareCreate an issue or just fix it!Create an issue. Opensource? Send a patch!OracleJDK/OpenJDK: file a bug!Create issue, wait for fixRelax and enjoy Other vendors: it depends
  8. 8. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.8Updates Your Application– Company and project update proceduresFrameworks– Maven OS– Install patches– Upgrade/Change OS Hardware– Replace one server box with another
  9. 9. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.9Updating 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. 10. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.10How do we manage changes?OpenJDK / Oracle JDK JDK QA: tests for Public APIs (java.awt.*) Private APIs (sun.awt.*)Community Java users around the worldJava from other vendorsShould be certified Java Compatibility Kit (JCK) Hundred thousandsconformance tests Feedback from licencees
  11. 11. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.11Problem Millions of Java application vs.different versions and vendors– How to agree?Public specification playrole of the protocol!API specification(aka Javadoc)JavaLanguageSpecification(JLS)SpecificationJava Virtual MachineSpecification (JVMS)Standalonedocuments
  12. 12. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.12Java Specification is a protocol!SMTP Hundreds of clients vs.hundreds of servers 100s + 100s = 100s Timeline1982 – RFC 8212001 – RFC 28212008 – RFC 5321… and protocol cannot be changed too oftenJava Millions of applications vs. dozensreleases from dozens vendors 1000000s + 10s = 1000000s Timeline1996 – JDK 1.0 2002 – J2SE 1.41997 – J2SE 1.1 2004 – J2SE 5.01998 – J2SE 1.2 2006 – Java SE 62000 – J2SE 1.3 2011 – Java SE 7
  13. 13. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.13Example: Adding null key to empty TreeMap
  14. 14. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.14How 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. 15. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.15Summary Updating the platform, which is used by hundreds millionspeople 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. 16. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.16Java: how to thrive in the changing worldQ&AAlexey Fedorov (alexey.x.fedorov@oracle.com), @23derevoElla Nekipelova (ella.nekipelova@oracle.com)
  17. 17. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.17

×