SlideShare a Scribd company logo
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
Java Day Riga
28 ноября 2013

3

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
 Частота выхода апдейтов
 Фикс багов ломает совместимость
 История про Substring

 Совместимость как груз тянущий вниз

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

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

Standalone
documents
9

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Какие изменения допустимы?
Предлагаемое изменение

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
Adding null key to empty TreeMap without
Comparator should throw NPE
Bug 5045147

Bug-2-Bug
12

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

Bug 2188127
Сюжет 3
String.substring()

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.
Since JDK 7u6
17

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

18

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Сюжет 4
Совместимость или новые фичи?

19

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

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

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

22

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

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

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

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

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

27

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

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

29

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

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

31

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

Java 8

32

Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Сюжет 8
История о хитром лицензиате

33

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

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

 Разные риски в update releases и в major updates
 Java двигается в Embedded

– Больше различий в поведении

35

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

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

37

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

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

More Related Content

Viewers also liked

United Arab Emirates SBM Alumni Program
United Arab Emirates SBM Alumni ProgramUnited Arab Emirates SBM Alumni Program
United Arab Emirates SBM Alumni ProgramOksana Lomaga
 
Interchange 6 - Open Source Shop Machine
Interchange 6 - Open Source Shop MachineInterchange 6 - Open Source Shop Machine
Interchange 6 - Open Source Shop Machine
LinuXia
 
Sisterhood named after st. Tatiana
Sisterhood named after st. TatianaSisterhood named after st. Tatiana
Sisterhood named after st. Tatiana
Галина Пивоварова
 
правила пожежної безпеки
правила пожежної безпекиправила пожежної безпеки
правила пожежної безпеки
Poltava municipal lyceum #1
 
Life of Cassandra
Life of CassandraLife of Cassandra
Life of CassandraEmm Valdez
 
Notas de estadísticas 2013 b
Notas de estadísticas   2013 bNotas de estadísticas   2013 b
Notas de estadísticas 2013 bCUN
 
Wake me up second draft music video script by lewis dunn
Wake me up second draft music video script by lewis dunnWake me up second draft music video script by lewis dunn
Wake me up second draft music video script by lewis dunnLewisDunn
 
Moral Panics
Moral PanicsMoral Panics
Moral Panicshussain07
 
Implosion magazin heft 115
Implosion magazin heft 115Implosion magazin heft 115
Implosion magazin heft 115
tonayaprielz
 

Viewers also liked (12)

United Arab Emirates SBM Alumni Program
United Arab Emirates SBM Alumni ProgramUnited Arab Emirates SBM Alumni Program
United Arab Emirates SBM Alumni Program
 
Interchange 6 - Open Source Shop Machine
Interchange 6 - Open Source Shop MachineInterchange 6 - Open Source Shop Machine
Interchange 6 - Open Source Shop Machine
 
Sisterhood named after st. Tatiana
Sisterhood named after st. TatianaSisterhood named after st. Tatiana
Sisterhood named after st. Tatiana
 
правила пожежної безпеки
правила пожежної безпекиправила пожежної безпеки
правила пожежної безпеки
 
Life of Cassandra
Life of CassandraLife of Cassandra
Life of Cassandra
 
Elem trexto narrativo def
Elem trexto narrativo defElem trexto narrativo def
Elem trexto narrativo def
 
Notas de estadísticas 2013 b
Notas de estadísticas   2013 bNotas de estadísticas   2013 b
Notas de estadísticas 2013 b
 
Wake me up second draft music video script by lewis dunn
Wake me up second draft music video script by lewis dunnWake me up second draft music video script by lewis dunn
Wake me up second draft music video script by lewis dunn
 
Earthquakes
EarthquakesEarthquakes
Earthquakes
 
Moral Panics
Moral PanicsMoral Panics
Moral Panics
 
Implosion magazin heft 115
Implosion magazin heft 115Implosion magazin heft 115
Implosion magazin heft 115
 
Offshore Excellence Awards Magazine (Grantec Engineering)
Offshore Excellence Awards Magazine (Grantec Engineering)Offshore Excellence Awards Magazine (Grantec Engineering)
Offshore Excellence Awards Magazine (Grantec Engineering)
 

Similar to Java Platform Tradeoffs (Riga 2013)

Александр Белокрылов, Александр Мироненко. Java Embedded у вас дома
Александр Белокрылов, Александр Мироненко. Java Embedded у вас домаАлександр Белокрылов, Александр Мироненко. Java Embedded у вас дома
Александр Белокрылов, Александр Мироненко. Java Embedded у вас домаVolha Banadyseva
 
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
Bruno Borges
 
Java Embedded у вас дома
Java Embedded у вас домаJava Embedded у вас дома
Java Embedded у вас дома
Diana Dymolazova
 
Introduction to MySQL Enterprise Monitor
Introduction to MySQL Enterprise MonitorIntroduction to MySQL Enterprise Monitor
Introduction to MySQL Enterprise MonitorMark Leith
 
Securing Mobile Device Access
Securing Mobile Device AccessSecuring Mobile Device Access
Securing Mobile Device Access
Artur Alves
 
General Capabilities of GraalVM by Oleg Selajev @shelajev
General Capabilities of GraalVM by Oleg Selajev @shelajevGeneral Capabilities of GraalVM by Oleg Selajev @shelajev
General Capabilities of GraalVM by Oleg Selajev @shelajev
Oracle Developers
 
GlassFish Roadmap
GlassFish RoadmapGlassFish Roadmap
GlassFish Roadmap
glassfish
 
GraalVM: Run Programs Faster Everywhere
GraalVM: Run Programs Faster EverywhereGraalVM: Run Programs Faster Everywhere
GraalVM: Run Programs Faster Everywhere
J On The Beach
 
206590 mobilizing your primavera workforce
206590 mobilizing your primavera workforce206590 mobilizing your primavera workforce
206590 mobilizing your primavera workforce
p6academy
 
Ed presents JSF 2.2 at a 2013 Gameduell Tech talk
Ed presents JSF 2.2 at a 2013 Gameduell Tech talkEd presents JSF 2.2 at a 2013 Gameduell Tech talk
Ed presents JSF 2.2 at a 2013 Gameduell Tech talkEdward Burns
 
Coding for Desktop & Mobile with HTML5 & Java EE
Coding for Desktop & Mobile with HTML5 & Java EECoding for Desktop & Mobile with HTML5 & Java EE
Coding for Desktop & Mobile with HTML5 & Java EE
Geertjan Wielenga
 
Reconsidering applications: 10:90:90
Reconsidering applications: 10:90:90Reconsidering applications: 10:90:90
Reconsidering applications: 10:90:90
Getting value from IoT, Integration and Data Analytics
 
A Importância do JavaFX no Mercado Embedded
A Importância do JavaFX no Mercado EmbeddedA Importância do JavaFX no Mercado Embedded
A Importância do JavaFX no Mercado EmbeddedBruno Borges
 
Oracle api gateway overview
Oracle api gateway overviewOracle api gateway overview
Oracle api gateway overview
Oracle Corporation
 
Владимир Иванов (Oracle): Java: прошлое и будущее
Владимир Иванов (Oracle): Java: прошлое и будущееВладимир Иванов (Oracle): Java: прошлое и будущее
Владимир Иванов (Oracle): Java: прошлое и будущее
Olga Lavrentieva
 
Grc864 architecture
Grc864 architectureGrc864 architecture
Grc864 architecture
Sanjay Naik
 
Graal and Truffle: One VM to Rule Them All
Graal and Truffle: One VM to Rule Them AllGraal and Truffle: One VM to Rule Them All
Graal and Truffle: One VM to Rule Them All
Thomas Wuerthinger
 
NoSQL & SQL - Best of both worlds - BarCamp Berkshire 2013
NoSQL & SQL - Best of both worlds - BarCamp Berkshire 2013NoSQL & SQL - Best of both worlds - BarCamp Berkshire 2013
NoSQL & SQL - Best of both worlds - BarCamp Berkshire 2013
Andrew Morgan
 
Marcin Szałowicz - MySQL Workbench
Marcin Szałowicz - MySQL WorkbenchMarcin Szałowicz - MySQL Workbench
Marcin Szałowicz - MySQL Workbench
Women in Technology Poland
 

Similar to Java Platform Tradeoffs (Riga 2013) (20)

Александр Белокрылов, Александр Мироненко. Java Embedded у вас дома
Александр Белокрылов, Александр Мироненко. Java Embedded у вас домаАлександр Белокрылов, Александр Мироненко. Java Embedded у вас дома
Александр Белокрылов, Александр Мироненко. Java Embedded у вас дома
 
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
 
Java Embedded у вас дома
Java Embedded у вас домаJava Embedded у вас дома
Java Embedded у вас дома
 
Introduction to MySQL Enterprise Monitor
Introduction to MySQL Enterprise MonitorIntroduction to MySQL Enterprise Monitor
Introduction to MySQL Enterprise Monitor
 
Securing Mobile Device Access
Securing Mobile Device AccessSecuring Mobile Device Access
Securing Mobile Device Access
 
General Capabilities of GraalVM by Oleg Selajev @shelajev
General Capabilities of GraalVM by Oleg Selajev @shelajevGeneral Capabilities of GraalVM by Oleg Selajev @shelajev
General Capabilities of GraalVM by Oleg Selajev @shelajev
 
GlassFish Roadmap
GlassFish RoadmapGlassFish Roadmap
GlassFish Roadmap
 
GraalVM: Run Programs Faster Everywhere
GraalVM: Run Programs Faster EverywhereGraalVM: Run Programs Faster Everywhere
GraalVM: Run Programs Faster Everywhere
 
206590 mobilizing your primavera workforce
206590 mobilizing your primavera workforce206590 mobilizing your primavera workforce
206590 mobilizing your primavera workforce
 
Ed presents JSF 2.2 at a 2013 Gameduell Tech talk
Ed presents JSF 2.2 at a 2013 Gameduell Tech talkEd presents JSF 2.2 at a 2013 Gameduell Tech talk
Ed presents JSF 2.2 at a 2013 Gameduell Tech talk
 
Coding for Desktop & Mobile with HTML5 & Java EE
Coding for Desktop & Mobile with HTML5 & Java EECoding for Desktop & Mobile with HTML5 & Java EE
Coding for Desktop & Mobile with HTML5 & Java EE
 
Reconsidering applications: 10:90:90
Reconsidering applications: 10:90:90Reconsidering applications: 10:90:90
Reconsidering applications: 10:90:90
 
A Importância do JavaFX no Mercado Embedded
A Importância do JavaFX no Mercado EmbeddedA Importância do JavaFX no Mercado Embedded
A Importância do JavaFX no Mercado Embedded
 
Oracle api gateway overview
Oracle api gateway overviewOracle api gateway overview
Oracle api gateway overview
 
Cloud based database
Cloud based databaseCloud based database
Cloud based database
 
Владимир Иванов (Oracle): Java: прошлое и будущее
Владимир Иванов (Oracle): Java: прошлое и будущееВладимир Иванов (Oracle): Java: прошлое и будущее
Владимир Иванов (Oracle): Java: прошлое и будущее
 
Grc864 architecture
Grc864 architectureGrc864 architecture
Grc864 architecture
 
Graal and Truffle: One VM to Rule Them All
Graal and Truffle: One VM to Rule Them AllGraal and Truffle: One VM to Rule Them All
Graal and Truffle: One VM to Rule Them All
 
NoSQL & SQL - Best of both worlds - BarCamp Berkshire 2013
NoSQL & SQL - Best of both worlds - BarCamp Berkshire 2013NoSQL & SQL - Best of both worlds - BarCamp Berkshire 2013
NoSQL & SQL - Best of both worlds - BarCamp Berkshire 2013
 
Marcin Szałowicz - MySQL Workbench
Marcin Szałowicz - MySQL WorkbenchMarcin Szałowicz - MySQL Workbench
Marcin Szałowicz - MySQL Workbench
 

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 algorithm
Alexey Fyodorov
 
How threads help each other
How threads help each otherHow threads help each other
How threads help each other
Alexey 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 it
Alexey 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 algorithms
Alexey Fyodorov
 
Java in Motion
Java in MotionJava in Motion
Java in Motion
Alexey Fyodorov
 
Процесс изменения платформы Java
Процесс изменения платформы JavaПроцесс изменения платформы Java
Процесс изменения платформы Java
Alexey 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

Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 

Recently uploaded (20)

Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 

Java Platform Tradeoffs (Riga 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 Java Day Riga 28 ноября 2013 3 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 4.  Частота выхода апдейтов  Фикс багов ломает совместимость  История про Substring  Совместимость как груз тянущий вниз 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 Спецификация конкретной версии платформы Java играет роль протокола! JVMS 8 Standalone documents 9 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 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. Adding null key to empty TreeMap without Comparator should throw NPE Bug 5045147 Bug-2-Bug 12 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Bug 2188127
  • 13. Сюжет 3 String.substring() 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. Since JDK 7u6 17 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 18. Performance vs. Memory 18 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 19. Сюжет 4 Совместимость или новые фичи? 19 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 20. 20 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 21. 21 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 22. Сюжет 5 Неизвестные отцы 22 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 23. 23 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 24. 24 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 25. 25 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 26. 26 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 27. Сюжет 6 GUI: Нативный или универсальный? 27 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 28. 28 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 29. Сюжет 7 Toolkit.beep() 29 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 30. 30 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 31. Java 7 31 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 32. Java 7 Java 8 32 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 33. Сюжет 8 История о хитром лицензиате 33 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 34. 34 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 35. Выводы  Большинство tradeoff’ов связаны с совместимостью – в том или ином её смысле  Имеющиеся риски трудно оценивать  Разные риски в update releases и в major updates  Java двигается в Embedded – Больше различий в поведении 35 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 36. Q&A 36 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 37. Мои контакты  @23derevo  alexey.x.fedorov@oracle.com  fyodorov.spbu@gmail.com  Skype: fyodorov.spbu  http://about.me/alexey.fyodorov 37 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
  • 38. 38 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.