java platform tradeoffs (cee secr 2013)

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

Upload: alexey-fyodorov

Post on 19-Jun-2015

586 views

Category:

Technology


2 download

DESCRIPTION

Slides from my CEE SECR 2013 talk.

TRANSCRIPT

Page 1: Java Platform Tradeoffs (CEE SECR 2013)

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

Page 2: Java Platform Tradeoffs (CEE SECR 2013)

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.

Page 3: Java Platform Tradeoffs (CEE SECR 2013)

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

Java Platform Tradeoffs

Алексей Фёдоров, Oracle

JCK, Java Platform Group

24 октября 2013

Page 4: Java Platform Tradeoffs (CEE SECR 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

Как быть хитрому лицензиату?

Page 5: Java Platform Tradeoffs (CEE SECR 2013)

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

Сюжет 1Апдейты: часто или редко?

Page 6: Java Platform Tradeoffs (CEE SECR 2013)

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

Обновления Java и политика

Page 7: Java Platform Tradeoffs (CEE SECR 2013)

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

Page 8: Java Platform Tradeoffs (CEE SECR 2013)

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

Сюжет 2Исправление багов или совместимость?

Page 9: Java Platform Tradeoffs (CEE SECR 2013)

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

Протокол взаимодействия

API spec

(aka Javadoc)

JLS 8 JSR 337 JVMS 8

Standalone

documents

Спецификация конкретной

версии платформы Java

играет роль протокола!

Page 10: Java Platform Tradeoffs (CEE SECR 2013)

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

Какие изменения допустимы?

Предлагаемое изменение Update Major release

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

(пакет / класс / метод / поле)- +

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

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

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

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

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

требуемому в спецификации)+**,*** +

* - @Deprecated, @Override ** - проанализировать риски

*** - см. следующий слайд

Page 11: Java Platform Tradeoffs (CEE SECR 2013)

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

Page 12: Java Platform Tradeoffs (CEE SECR 2013)

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

Сюжет 3 (совсем коротко)Совместимость или новые фичи?

Лямбды

Дефолтные методы в интерфейсах

Page 13: Java Platform Tradeoffs (CEE SECR 2013)

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

Сюжет 4Неизвестные отцы

Page 14: Java Platform Tradeoffs (CEE SECR 2013)

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

Page 15: Java Platform Tradeoffs (CEE SECR 2013)

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

Page 16: Java Platform Tradeoffs (CEE SECR 2013)

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

Page 17: Java Platform Tradeoffs (CEE SECR 2013)

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

Page 18: Java Platform Tradeoffs (CEE SECR 2013)

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

Page 19: Java Platform Tradeoffs (CEE SECR 2013)

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

Page 20: Java Platform Tradeoffs (CEE SECR 2013)

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

Page 21: Java Platform Tradeoffs (CEE SECR 2013)

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

Сюжет 5GUI: Нативный или универсальный?

Page 22: Java Platform Tradeoffs (CEE SECR 2013)

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

Page 23: Java Platform Tradeoffs (CEE SECR 2013)

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

Сюжет 6 Toolkit.beep()

Page 24: Java Platform Tradeoffs (CEE SECR 2013)

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

Page 25: Java Platform Tradeoffs (CEE SECR 2013)

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

Java 7

Page 26: Java Platform Tradeoffs (CEE SECR 2013)

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

Java 7

Java 8

Page 27: Java Platform Tradeoffs (CEE SECR 2013)

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

Сюжет 7Как быть хитрому лицензиату?

Page 28: Java Platform Tradeoffs (CEE SECR 2013)

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

Выводы

Большинство tradeoff’ов связаны с совместимостью

– в том или ином её смысле

Имеющиеся риски трудно оценивать

Разные риски в update releases и в major updates

Java двигается в Embedded

– целостность падает

Page 29: Java Platform Tradeoffs (CEE SECR 2013)

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

Q&A

Page 30: Java Platform Tradeoffs (CEE SECR 2013)

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

Мои контакты

@23derevo

[email protected]

[email protected]

Skype: fyodorov.spbu

http://about.me/alexey.fyodorov

Page 31: Java Platform Tradeoffs (CEE SECR 2013)

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