1

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
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.

2

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Java Platform Tradeoffs
Алексей Фёдоров, Oracle
JCK, Java Platform Group
24 октября 2013

3

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
 Апдейты: часто или редко?
 Исправление багов или совместимость?

 Совместимость или новые фичи?

Agenda

 История о неизвестных отцах
 GUI: Нативный или универсальный?
 История про Beep
 Как быть хитрому лицензиату?

4

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Сюжет 1
Апдейты: часто или редко?

5

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Обновления Java и политика

6

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
7

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Сюжет 2
Исправление багов или совместимость?

8

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Протокол взаимодействия
API spec
(aka Javadoc)

JLS 8

JSR 337

Standalone
documents
9

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

Спецификация конкретной
версии платформы Java
играет роль протокола!
JVMS 8
Какие изменения допустимы?
Предлагаемое изменение

Update

Major release

Добавить что-нибудь в Public API
(пакет / класс / метод / поле)

-

+

Удалить что-нибудь из Public API

-

-*

Добавить что-нибудь в Private API

+

+

Удалить что-нибудь из Private API

+**

+

Изменить спецификацию чего-нибудь

-

+**

Исправить ошибку (несоответствие поведения
требуемому в спецификации)

+**,***

+

* - @Deprecated, @Override
*** - см. следующий слайд
10

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

** - проанализировать риски
Adding null key to empty TreeMap without
Comparator should throw NPE
Bug 5045147

11

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

Bug 2188127
Сюжет 3 (совсем коротко)
Совместимость или новые фичи?
 Лямбды
 Дефолтные методы в интерфейсах

12

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Сюжет 4
Неизвестные отцы

13

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
14

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
15

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
16

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
17

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
18

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
19

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
20

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Сюжет 5
GUI: Нативный или универсальный?

21

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
22

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Сюжет 6
Toolkit.beep()

23

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
24

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Java 7

25

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Java 7

Java 8
26

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Сюжет 7
Как быть хитрому лицензиату?

27

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Выводы
 Большинство tradeoff’ов связаны с совместимостью

– в том или ином её смысле
 Имеющиеся риски трудно оценивать

 Разные риски в update releases и в major updates
 Java двигается в Embedded
– целостность падает

28

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Q&A
29

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Мои контакты
 @23derevo

 alexey.x.fedorov@oracle.com
 fyodorov.spbu@gmail.com
 Skype: fyodorov.spbu
 http://about.me/alexey.fyodorov

30

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
31

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.

More Related Content

PDF
Java Platform Tradeoffs (Riga 2013)
PDF
Александр Белокрылов, Александр Мироненко. Java Embedded у вас дома
PPTX
Logic apps101
PPTX
Spring Integration 5.0: What's new?
PPTX
Powerpoint
PPTX
Hereka widget presentation
PPT
4rugby wc 2015 live
PPTX
Proyecto integrador
Java Platform Tradeoffs (Riga 2013)
Александр Белокрылов, Александр Мироненко. Java Embedded у вас дома
Logic apps101
Spring Integration 5.0: What's new?
Powerpoint
Hereka widget presentation
4rugby wc 2015 live
Proyecto integrador

Viewers also liked (12)

PPS
Power p.rev.ind
PPTX
Gaming industry bart
DOCX
Md Athar cv - Copy - Copy (1)
PPTX
Presentation1
DOCX
DeShetlerMILH498final
PDF
RAA-Case Study
PPT
Improvising Careers - NYU/Stern - Nov 2013
PDF
Digital Marketing
PPTX
Presentation1
DOCX
Gregory K Harris resume 111
PPTX
Bioplastic Container Cropping Systems Project Background
PPTX
Vbridge consulting private limited
Power p.rev.ind
Gaming industry bart
Md Athar cv - Copy - Copy (1)
Presentation1
DeShetlerMILH498final
RAA-Case Study
Improvising Careers - NYU/Stern - Nov 2013
Digital Marketing
Presentation1
Gregory K Harris resume 111
Bioplastic Container Cropping Systems Project Background
Vbridge consulting private limited
Ad

Similar to Java Platform Tradeoffs (CEE SECR 2013) (20)

PPTX
O Mundo Oracle e o Que Há de Novo no Java
PPTX
Java: how to thrive in the changing world
PDF
Java Embedded у вас дома
PDF
General Capabilities of GraalVM by Oleg Selajev @shelajev
PPTX
GlassFish Roadmap
PDF
206590 mobilizing your primavera workforce
ODP
Introduction to MySQL Enterprise Monitor
PDF
Securing Mobile Device Access
PPTX
A Importância do JavaFX no Mercado Embedded
PDF
GraalVM: Run Programs Faster Everywhere
PDF
Владимир Иванов (Oracle): Java: прошлое и будущее
PDF
Ebs troubleshooting con9019_pdf_9019_0001
PDF
Serverless Java - Challenges and Triumphs
PPTX
Ed presents JSF 2.2 at a 2013 Gameduell Tech talk
PDF
Graal and Truffle: One VM to Rule Them All
PDF
Newfeaturesincontext 130911052709-phpapp01
PPTX
JSF 2.2
PPTX
whats-new-netbeans-ide-80.pptx
PDF
Serverless Java: JJUG CCC 2019
PDF
Reconsidering applications: 10:90:90
O Mundo Oracle e o Que Há de Novo no Java
Java: how to thrive in the changing world
Java Embedded у вас дома
General Capabilities of GraalVM by Oleg Selajev @shelajev
GlassFish Roadmap
206590 mobilizing your primavera workforce
Introduction to MySQL Enterprise Monitor
Securing Mobile Device Access
A Importância do JavaFX no Mercado Embedded
GraalVM: Run Programs Faster Everywhere
Владимир Иванов (Oracle): Java: прошлое и будущее
Ebs troubleshooting con9019_pdf_9019_0001
Serverless Java - Challenges and Triumphs
Ed presents JSF 2.2 at a 2013 Gameduell Tech talk
Graal and Truffle: One VM to Rule Them All
Newfeaturesincontext 130911052709-phpapp01
JSF 2.2
whats-new-netbeans-ide-80.pptx
Serverless Java: JJUG CCC 2019
Reconsidering applications: 10:90:90
Ad

More from Alexey Fyodorov (13)

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

Recently uploaded (20)

PPT
Geologic Time for studying geology for geologist
PDF
Five Habits of High-Impact Board Members
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PDF
WOOl fibre morphology and structure.pdf for textiles
PDF
A comparative study of natural language inference in Swahili using monolingua...
PPTX
observCloud-Native Containerability and monitoring.pptx
PPTX
Web Crawler for Trend Tracking Gen Z Insights.pptx
PPTX
The various Industrial Revolutions .pptx
PPTX
Chapter 5: Probability Theory and Statistics
PDF
A novel scalable deep ensemble learning framework for big data classification...
PDF
A review of recent deep learning applications in wood surface defect identifi...
PDF
Hindi spoken digit analysis for native and non-native speakers
PPT
Module 1.ppt Iot fundamentals and Architecture
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
PPTX
Modernising the Digital Integration Hub
PDF
STKI Israel Market Study 2025 version august
PDF
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
PDF
Getting started with AI Agents and Multi-Agent Systems
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
Geologic Time for studying geology for geologist
Five Habits of High-Impact Board Members
Univ-Connecticut-ChatGPT-Presentaion.pdf
WOOl fibre morphology and structure.pdf for textiles
A comparative study of natural language inference in Swahili using monolingua...
observCloud-Native Containerability and monitoring.pptx
Web Crawler for Trend Tracking Gen Z Insights.pptx
The various Industrial Revolutions .pptx
Chapter 5: Probability Theory and Statistics
A novel scalable deep ensemble learning framework for big data classification...
A review of recent deep learning applications in wood surface defect identifi...
Hindi spoken digit analysis for native and non-native speakers
Module 1.ppt Iot fundamentals and Architecture
Assigned Numbers - 2025 - Bluetooth® Document
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
Modernising the Digital Integration Hub
STKI Israel Market Study 2025 version august
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
Getting started with AI Agents and Multi-Agent Systems
From MVP to Full-Scale Product A Startup’s Software Journey.pdf

Java Platform Tradeoffs (CEE SECR 2013)

  • 1. 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. 2 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 3. Java Platform Tradeoffs Алексей Фёдоров, Oracle JCK, Java Platform Group 24 октября 2013 3 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 4.  Апдейты: часто или редко?  Исправление багов или совместимость?  Совместимость или новые фичи? Agenda  История о неизвестных отцах  GUI: Нативный или универсальный?  История про Beep  Как быть хитрому лицензиату? 4 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 5. Сюжет 1 Апдейты: часто или редко? 5 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 6. Обновления Java и политика 6 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 7. 7 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 8. Сюжет 2 Исправление багов или совместимость? 8 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 9. Протокол взаимодействия API spec (aka Javadoc) JLS 8 JSR 337 Standalone documents 9 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Спецификация конкретной версии платформы Java играет роль протокола! JVMS 8
  • 10. Какие изменения допустимы? Предлагаемое изменение Update Major release Добавить что-нибудь в Public API (пакет / класс / метод / поле) - + Удалить что-нибудь из Public API - -* Добавить что-нибудь в Private API + + Удалить что-нибудь из Private API +** + Изменить спецификацию чего-нибудь - +** Исправить ошибку (несоответствие поведения требуемому в спецификации) +**,*** + * - @Deprecated, @Override *** - см. следующий слайд 10 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. ** - проанализировать риски
  • 11. Adding null key to empty TreeMap without Comparator should throw NPE Bug 5045147 11 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Bug 2188127
  • 12. Сюжет 3 (совсем коротко) Совместимость или новые фичи?  Лямбды  Дефолтные методы в интерфейсах 12 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 13. Сюжет 4 Неизвестные отцы 13 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 14. 14 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 15. 15 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 16. 16 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 17. 17 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 18. 18 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 19. 19 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 20. 20 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 21. Сюжет 5 GUI: Нативный или универсальный? 21 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 22. 22 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 23. Сюжет 6 Toolkit.beep() 23 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 24. 24 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 25. Java 7 25 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 26. Java 7 Java 8 26 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 27. Сюжет 7 Как быть хитрому лицензиату? 27 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 28. Выводы  Большинство tradeoff’ов связаны с совместимостью – в том или ином её смысле  Имеющиеся риски трудно оценивать  Разные риски в update releases и в major updates  Java двигается в Embedded – целостность падает 28 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 29. Q&A 29 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 30. Мои контакты  @23derevo  alexey.x.fedorov@oracle.com  fyodorov.spbu@gmail.com  Skype: fyodorov.spbu  http://about.me/alexey.fyodorov 30 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 31. 31 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.