java platform tradeoffs (cee secr 2013)
DESCRIPTION
Slides from my CEE SECR 2013 talk.TRANSCRIPT
1 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
2 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
The following is intended to outline our generalproduct direction. It is intended for informationpurposes only, and may not be incorporated intoany contract. It is not a commitment to deliver anymaterial, code, or functionality, and should not berelied upon in making purchasing decisions.The development, release, and timing of anyfeatures or functionality described for Oracle’sproducts remains at the sole discretion of Oracle.
3 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Java Platform Tradeoffs
Алексей Фёдоров, Oracle
JCK, Java Platform Group
24 октября 2013
4 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Agenda
Апдейты: часто или редко?
Исправление багов или совместимость?
Совместимость или новые фичи?
История о неизвестных отцах
GUI: Нативный или универсальный?
История про Beep
Как быть хитрому лицензиату?
5 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Сюжет 1Апдейты: часто или редко?
6 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Обновления Java и политика
7 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
8 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Сюжет 2Исправление багов или совместимость?
9 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Протокол взаимодействия
API spec
(aka Javadoc)
JLS 8 JSR 337 JVMS 8
Standalone
documents
Спецификация конкретной
версии платформы Java
играет роль протокола!
10 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Какие изменения допустимы?
Предлагаемое изменение Update Major release
Добавить что-нибудь в Public API
(пакет / класс / метод / поле)- +
Удалить что-нибудь из Public API - -*
Добавить что-нибудь в Private API + +
Удалить что-нибудь из Private API +** +
Изменить спецификацию чего-нибудь - +**
Исправить ошибку (несоответствие поведения
требуемому в спецификации)+**,*** +
* - @Deprecated, @Override ** - проанализировать риски
*** - см. следующий слайд
11 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Adding null key to empty TreeMap without Comparator should throw NPE
Bug 5045147 Bug 2188127
12 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Сюжет 3 (совсем коротко)Совместимость или новые фичи?
Лямбды
Дефолтные методы в интерфейсах
13 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Сюжет 4Неизвестные отцы
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.
21 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Сюжет 5GUI: Нативный или универсальный?
22 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
23 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Сюжет 6 Toolkit.beep()
24 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
25 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Java 7
26 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Java 7
Java 8
27 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Сюжет 7Как быть хитрому лицензиату?
28 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Выводы
Большинство tradeoff’ов связаны с совместимостью
– в том или ином её смысле
Имеющиеся риски трудно оценивать
Разные риски в update releases и в major updates
Java двигается в Embedded
– целостность падает
29 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Q&A
30 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
Мои контакты
@23derevo
Skype: fyodorov.spbu
http://about.me/alexey.fyodorov
31 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.