Submit Search
Upload
Java in Motion
•
1 like
•
667 views
Alexey Fyodorov
Follow
Java in Motion: Java Platform Updates and Tradeoffs
Read less
Read more
Technology
Slideshow view
Report
Share
Slideshow view
Report
Share
1 of 95
Download now
Download to read offline
Recommended
Процесс изменения платформы Java
Процесс изменения платформы Java
Alexey Fyodorov
Новое поколение серверов SPARC
Новое поколение серверов SPARC
Andrey Akulov
ALG Systems
ALG Systems
ALG Systems (АЛЖ Системс)
Oracle. Моторин Иларион. "Современные и перспективные системы на базе процесс...
Oracle. Моторин Иларион. "Современные и перспективные системы на базе процесс...
Expolink
Кирил Кірєєв “Особливості розробки hardware продукту” Lviv Project Managemen...
Кирил Кірєєв “Особливості розробки hardware продукту” Lviv Project Managemen...
Lviv Startup Club
Location shots
Location shots
Rory Moore
Renovación y crisis. exposicon de politica educativa. Mónica
Renovación y crisis. exposicon de politica educativa. Mónica
EZYMG
Nota de Prensa 022-2015-DREM.M
Nota de Prensa 022-2015-DREM.M
GREM Moquegua
Recommended
Процесс изменения платформы Java
Процесс изменения платформы Java
Alexey Fyodorov
Новое поколение серверов SPARC
Новое поколение серверов SPARC
Andrey Akulov
ALG Systems
ALG Systems
ALG Systems (АЛЖ Системс)
Oracle. Моторин Иларион. "Современные и перспективные системы на базе процесс...
Oracle. Моторин Иларион. "Современные и перспективные системы на базе процесс...
Expolink
Кирил Кірєєв “Особливості розробки hardware продукту” Lviv Project Managemen...
Кирил Кірєєв “Особливості розробки hardware продукту” Lviv Project Managemen...
Lviv Startup Club
Location shots
Location shots
Rory Moore
Renovación y crisis. exposicon de politica educativa. Mónica
Renovación y crisis. exposicon de politica educativa. Mónica
EZYMG
Nota de Prensa 022-2015-DREM.M
Nota de Prensa 022-2015-DREM.M
GREM Moquegua
Cuestionario cop
Cuestionario cop
gloriaelena325
Los arribes del duero
Los arribes del duero
oscargarciafernandez
SSAC Exec Summary 2014 2015
SSAC Exec Summary 2014 2015
Donald Logan Willyard
Módulo 2 informática 2015
Módulo 2 informática 2015
iptchpanama
CHECK MARK FLYER FREE STUFF
CHECK MARK FLYER FREE STUFF
Todd Strong
Resume2015-V1
Resume2015-V1
Benjamin Quarless
50 Anos do Código Florestal - Paulo Sérgio
50 Anos do Código Florestal - Paulo Sérgio
ANCP Ribeirão Preto
Presentación11
Presentación11
sbebu32r8u35tnugt
Tabela copinha ouro
Tabela copinha ouro
ROBSON MASSON
Beraldi luciana tcc
Beraldi luciana tcc
Alessandra Bertão Ribas
Anexo ii portaria-n°-0511
Anexo ii portaria-n°-0511
enfoquecultural
Regulamento técnico de suíço
Regulamento técnico de suíço
ROBSON MASSON
Calendario 2012 2
Calendario 2012 2
Juliana Cardoso
Orden bipolar (1)
Orden bipolar (1)
chche
Apresentação1
Apresentação1
Jorgehvn
360_presentation
360_presentation
Andreas Raptis
REGULAMENTO GERAL - OURO-SC
REGULAMENTO GERAL - OURO-SC
ROBSON MASSON
Занимательные истории из жизни технической поддержки JVM
Занимательные истории из жизни технической поддержки JVM
Nikita Lipsky
Полезное покрытие кода
Полезное покрытие кода
SQALab
What to expect from Java 9
What to expect from Java 9
JavaDayUA
OEM 12c релиз 3 — новые возможности и перспективы
OEM 12c релиз 3 — новые возможности и перспективы
Andrey Akulov
Доклады с прошедшей JiraMania: про обновления, зависимости и дедлоки
Доклады с прошедшей JiraMania: про обновления, зависимости и дедлоки
Gonchik Tsymzhitov
More Related Content
Viewers also liked
Cuestionario cop
Cuestionario cop
gloriaelena325
Los arribes del duero
Los arribes del duero
oscargarciafernandez
SSAC Exec Summary 2014 2015
SSAC Exec Summary 2014 2015
Donald Logan Willyard
Módulo 2 informática 2015
Módulo 2 informática 2015
iptchpanama
CHECK MARK FLYER FREE STUFF
CHECK MARK FLYER FREE STUFF
Todd Strong
Resume2015-V1
Resume2015-V1
Benjamin Quarless
50 Anos do Código Florestal - Paulo Sérgio
50 Anos do Código Florestal - Paulo Sérgio
ANCP Ribeirão Preto
Presentación11
Presentación11
sbebu32r8u35tnugt
Tabela copinha ouro
Tabela copinha ouro
ROBSON MASSON
Beraldi luciana tcc
Beraldi luciana tcc
Alessandra Bertão Ribas
Anexo ii portaria-n°-0511
Anexo ii portaria-n°-0511
enfoquecultural
Regulamento técnico de suíço
Regulamento técnico de suíço
ROBSON MASSON
Calendario 2012 2
Calendario 2012 2
Juliana Cardoso
Orden bipolar (1)
Orden bipolar (1)
chche
Apresentação1
Apresentação1
Jorgehvn
360_presentation
360_presentation
Andreas Raptis
REGULAMENTO GERAL - OURO-SC
REGULAMENTO GERAL - OURO-SC
ROBSON MASSON
Viewers also liked
(17)
Cuestionario cop
Cuestionario cop
Los arribes del duero
Los arribes del duero
SSAC Exec Summary 2014 2015
SSAC Exec Summary 2014 2015
Módulo 2 informática 2015
Módulo 2 informática 2015
CHECK MARK FLYER FREE STUFF
CHECK MARK FLYER FREE STUFF
Resume2015-V1
Resume2015-V1
50 Anos do Código Florestal - Paulo Sérgio
50 Anos do Código Florestal - Paulo Sérgio
Presentación11
Presentación11
Tabela copinha ouro
Tabela copinha ouro
Beraldi luciana tcc
Beraldi luciana tcc
Anexo ii portaria-n°-0511
Anexo ii portaria-n°-0511
Regulamento técnico de suíço
Regulamento técnico de suíço
Calendario 2012 2
Calendario 2012 2
Orden bipolar (1)
Orden bipolar (1)
Apresentação1
Apresentação1
360_presentation
360_presentation
REGULAMENTO GERAL - OURO-SC
REGULAMENTO GERAL - OURO-SC
Similar to Java in Motion
Занимательные истории из жизни технической поддержки JVM
Занимательные истории из жизни технической поддержки JVM
Nikita Lipsky
Полезное покрытие кода
Полезное покрытие кода
SQALab
What to expect from Java 9
What to expect from Java 9
JavaDayUA
OEM 12c релиз 3 — новые возможности и перспективы
OEM 12c релиз 3 — новые возможности и перспективы
Andrey Akulov
Доклады с прошедшей JiraMania: про обновления, зависимости и дедлоки
Доклады с прошедшей JiraMania: про обновления, зависимости и дедлоки
Gonchik Tsymzhitov
Новые возможности платформы Oracle 12c для хранилищ данных
Новые возможности платформы Oracle 12c для хранилищ данных
Andrey Akulov
Oracle Application Management and Testing Suites for Siebel CRM
Oracle Application Management and Testing Suites for Siebel CRM
Алексей Распопов
«Oracle Application Quality Management: Средства тестирования и управления те...
«Oracle Application Quality Management: Средства тестирования и управления те...
Andrey Akulov
JD Edwards Orchestrator and AIS server
JD Edwards Orchestrator and AIS server
Константин Ковбасенко
0. hello java world
0. hello java world
Oleksandr Zahoruiko
Liferay Portal и приемы разработки
Liferay Portal и приемы разработки
devclub
SAI
SAI
clairbee
MySQL 8.0
MySQL 8.0
Vittorio Cioe
Java худеет. Спроси меня как. Уменьшение размера дистрибутива Java приложения...
Java худеет. Спроси меня как. Уменьшение размера дистрибутива Java приложения...
Nikita Lipsky
Java Enterprise without Java
Java Enterprise without Java
Olena Syrota
Проверено и работает. Инструменты Oracle для разработки веб приложений
Проверено и работает. Инструменты Oracle для разработки веб приложений
Media Gorod
Сценарии перехода в облако. Сравнительный анализ
Сценарии перехода в облако. Сравнительный анализ
pcweek_ua
Soa12c launch 2 features cr
Soa12c launch 2 features cr
Vasily Demin
Новости и анонсы Oracle Open World 2014
Новости и анонсы Oracle Open World 2014
Andrey Akulov
CodeFest 2014. Шипилёв А. — Java Benchmarking: как два таймстампа записать!
CodeFest 2014. Шипилёв А. — Java Benchmarking: как два таймстампа записать!
CodeFest
Similar to Java in Motion
(20)
Занимательные истории из жизни технической поддержки JVM
Занимательные истории из жизни технической поддержки JVM
Полезное покрытие кода
Полезное покрытие кода
What to expect from Java 9
What to expect from Java 9
OEM 12c релиз 3 — новые возможности и перспективы
OEM 12c релиз 3 — новые возможности и перспективы
Доклады с прошедшей JiraMania: про обновления, зависимости и дедлоки
Доклады с прошедшей JiraMania: про обновления, зависимости и дедлоки
Новые возможности платформы Oracle 12c для хранилищ данных
Новые возможности платформы Oracle 12c для хранилищ данных
Oracle Application Management and Testing Suites for Siebel CRM
Oracle Application Management and Testing Suites for Siebel CRM
«Oracle Application Quality Management: Средства тестирования и управления те...
«Oracle Application Quality Management: Средства тестирования и управления те...
JD Edwards Orchestrator and AIS server
JD Edwards Orchestrator and AIS server
0. hello java world
0. hello java world
Liferay Portal и приемы разработки
Liferay Portal и приемы разработки
SAI
SAI
MySQL 8.0
MySQL 8.0
Java худеет. Спроси меня как. Уменьшение размера дистрибутива Java приложения...
Java худеет. Спроси меня как. Уменьшение размера дистрибутива Java приложения...
Java Enterprise without Java
Java Enterprise without Java
Проверено и работает. Инструменты Oracle для разработки веб приложений
Проверено и работает. Инструменты Oracle для разработки веб приложений
Сценарии перехода в облако. Сравнительный анализ
Сценарии перехода в облако. Сравнительный анализ
Soa12c launch 2 features cr
Soa12c launch 2 features cr
Новости и анонсы Oracle Open World 2014
Новости и анонсы Oracle Open World 2014
CodeFest 2014. Шипилёв А. — Java Benchmarking: как два таймстампа записать!
CodeFest 2014. Шипилёв А. — Java Benchmarking: как два таймстампа записать!
More from Alexey Fyodorov
Non-blocking Michael-Scott queue algorithm
Non-blocking Michael-Scott queue algorithm
Alexey Fyodorov
How threads help each other
How threads help each other
Alexey Fyodorov
Помоги ближнему, или Как потоки помогают друг другу
Помоги ближнему, или Как потоки помогают друг другу
Alexey Fyodorov
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 it
Alexey Fyodorov
Синхронизация без блокировок и СМС
Синхронизация без блокировок и СМС
Alexey Fyodorov
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?!
Alexey Fyodorov
Atomics, CAS and Nonblocking algorithms
Atomics, CAS and Nonblocking algorithms
Alexey Fyodorov
Philosophers
Philosophers
Alexey Fyodorov
Java Platform Tradeoffs (Riga 2013)
Java Platform Tradeoffs (Riga 2013)
Alexey Fyodorov
Java Platform Tradeoffs (CEE SECR 2013)
Java Platform Tradeoffs (CEE SECR 2013)
Alexey Fyodorov
Java: how to thrive in the changing world
Java: how to thrive in the changing world
Alexey Fyodorov
More from Alexey Fyodorov
(14)
Non-blocking Michael-Scott queue algorithm
Non-blocking Michael-Scott queue algorithm
How threads help each other
How threads help each other
Помоги ближнему, или Как потоки помогают друг другу
Помоги ближнему, или Как потоки помогают друг другу
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 it
Синхронизация без блокировок и СМС
Синхронизация без блокировок и СМС
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?!
Atomics, CAS and Nonblocking algorithms
Atomics, CAS and Nonblocking algorithms
Philosophers
Philosophers
Java Platform Tradeoffs (Riga 2013)
Java Platform Tradeoffs (Riga 2013)
Java Platform Tradeoffs (CEE SECR 2013)
Java Platform Tradeoffs (CEE SECR 2013)
Java: how to thrive in the changing world
Java: how to thrive in the changing world
Java in Motion
1.
1 Copyright © 2013,
Oracle and/or its affiliates. All rights reserved.
2.
Java в движении Алексей
Фёдоров Software Engineer, Oracle, JCK, Java Platform Group jug.msk, Москва 02.12.2013
3.
«А ты кто
такой?» Software Engineer – Cначала были военные, – потом legacy systems на Java EE – С 2011 года в Oracle: JCK Team Community driver: JUG.ru, CodeFreeze Conferences: Jpoint, Joker Peopleware advocate ФМЛ 239, СПбГУ, к.ф.-м.н. @23derevo, http://about.me/alexey.fyodorov 3 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
4.
Agenda Java Platform Updates Java
Platform Tradeoffs 4 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
5.
Часть 1. Java Platform
Updates 5 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
6.
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. 6 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
7.
С чем работает
Java-приложение? My Javaapplication 7 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
8.
С чем работает
Java-приложение? JDK My Javaapplication 8 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
9.
С чем работает
Java-приложение? JDK Frameworks My Javaapplication 9 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
10.
С чем работает
Java-приложение? JDK Frameworks My Javaapplication OS 10 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
11.
С чем работает
Java-приложение? JDK Frameworks My Javaapplication Hardware 11 OS Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
12.
С чем работает
Java-приложение? JDK Frameworks My Javaapplication Hardware 12 OS Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
13.
Как исправлять баги App Frameworks JDK OS Hardware 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.
Обновления Java Типы обновлений: –Release
update :7u17 → 7u21 –Major update: Java 7 → Java 8 16 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
17.
Обновления Java Типы обновлений: –Release
update :7u17 → 7u21 –Major update: Java 7 → Java 8 17 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
18.
Java 7 Updates
versioning 7, 7u1, 7u2, 7u3, 7u4, 7u5, 7u6, 7u7 … 18 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
19.
Java 7 Updates
versioning 7, 7u1, 7u2, 7u3, 7u4, 7u5, 7u6, 7u7 … –7u8 ? –7u9, 7u10, 7u11… 19 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
20.
Java 7 Updates
versioning 7, 7u1, 7u2, 7u3, 7u4, 7u5, 7u6, 7u7 … –7u8 ? –7u9, 7u10, 7u11… –7u12? 20 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
21.
Java 7 Updates
versioning 7, 7u1, 7u2, 7u3, 7u4, 7u5, 7u6, 7u7 … –7u8 ? –7u9, 7u10, 7u11… –7u12? 7u13, 7u15, 7u17 … 21 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
22.
Java 7 Updates
versioning 7, 7u1, 7u2, 7u3, 7u4, 7u5, 7u6, 7u7 … –7u8 ? –7u9, 7u10, 7u11… –7u12? 7u13, 7u15, 7u17 … –7u19 ? 22 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
23.
Java 7 Updates
versioning 7, 7u1, 7u2, 7u3, 7u4, 7u5, 7u6, 7u7 … –7u8 ? –7u9, 7u10, 7u11… –7u12? 7u13, 7u15, 7u17 … –7u19 ? 7u21, 7u25 23 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
24.
Java 7 Updates
versioning 7, 7u1, 7u2, 7u3, 7u4, 7u5, 7u6, 7u7 … –7u8 ? –7u9, 7u10, 7u11… –7u12? 7u13, 7u15, 7u17 … –7u19 ? 7u21, 7u25 –7u29? 24 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
25.
Java 7 Updates
versioning 7, 7u1, 7u2, 7u3, 7u4, 7u5, 7u6, 7u7 … –7u8 ? –7u9, 7u10, 7u11… –7u12? 7u13, 7u15, 7u17 … –7u19 ? 7u21, 7u25 –7u29? 25 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
26.
26 Copyright © 2013,
Oracle and/or its affiliates. All rights reserved.
27.
Номера обновлений в
JDK 7 Раз в два месяца Чётные – Исправление ошибок – Новая функциональность Нечётные – Исправление ошибок – Обновления системы безопасности CPU = ? 27 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
28.
Номера обновлений в
JDK 7 Раз в два месяца Чётные – Исправление ошибок – Новая функциональность Нечётные – Исправление ошибок – Обновления системы безопасности CPU = Critical Patch Update 28 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
29.
Номера обновлений в
JDK 7 Функциональность –7u40, 7u60, 7u80 –8, 8u20, 8u40 29 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
30.
Номера обновлений в
JDK 7 Функциональность –7u40, 7u60, 7u80 –8, 8u20, 8u40 Безопасность –7u45, 7u51, 7u55, 7u61 30 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
31.
Номера обновлений в
JDK 7 Функциональность –7u40, 7u60, 7u80 –8, 8u20, 8u40 Безопасность –7u45, 7u51, 7u55, 7u61 –Exploit? 31 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
32.
Номера обновлений в
JDK 7 Функциональность –7u40, 7u60, 7u80 –8, 8u20, 8u40 Безопасность –7u45, 7u51, 7u55, 7u61 –Exploit? Emergency Releases! (7u47, 7u49, 7u53, 7u57 etc.) 32 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
33.
Нечётные обновления – Security
Baseline Updates Любой патч, закрывающий какие-либо уязвимости в JDK 7 должен быть портирован в JDK 6 и все остальные поддерживаемые версии 33 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
34.
Нечётные обновления – Security
Baseline Updates 34 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
35.
Чётные обновления: Feature
Updates JDK 7 Update 40 Highlights (пример) Olson Data 2013d Java Mission Control (JMC) 5.2 JavaFX 2.2.40 Serviceability Agent support for ARM Retina Display support on Mac OS X Deployment Rule Set Option to disable "JRE out of date" warning 35 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
36.
Чётные обновления: Feature
Updates JDK 7 Update 40 Highlights (продолж.) New Security Warnings for Unsigned and Self-Signed Applications JAXP Security Improvements Security Baselines не изменились! 36 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
37.
Другие технологии Java SE:
Standalone Technologies: JAXP, JAXB, JNLP, JAX-WS (Везде своя нумерация!) IANA Time Zone Database (aka Olson Data) New platforms: Mac OS X, Windows 8.1 etc. New HotSpot VM: new GC, new –XX options Not Java SE: 37 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
38.
Правило Joe Darcy Не
бывает стопроцентно совместимых изменений! 38 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
39.
Протокол взаимодействия API spec (aka
Javadoc) JLS8 JSR 337 Standalone documents 39 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. JVMS 8
40.
Спецификация платформы Спецификация платформы
Java – это протокол! – Версия! (Java SE 6, 7, 8) Протокол нельзя менять часто! 40 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
41.
Протокол SMTP Тысячи серверов Тысячи
клиентов тысячи + тысячи = тысячи Timeline 1982 – RFC 821 2001 – RFC 2821 2008 – RFC 5321 41 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
42.
Java Миллионы Java-приложений Тысячи реализаций
Java миллионы + тысячи = миллионы Timeline 1996 – JDK 1.0 1997 – J2SE 1.1 2004 – J2SE 5.0 1998 – J2SE 1.2 2006 – Java SE 6 2000 – J2SE 1.3 42 2002 – J2SE 1.4 2011 – Java SE 7 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
43.
Как управлять изменениями
в Java OpenJDK / Oracle JDK JDK QA Community Java-программисты по всему миру 43 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
44.
Java от других
вендоров Процедура сертифицикации Java Compatibility Kit (JCK) Сотни тысяч тестов Feedback от лицензиатов 44 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
45.
Как мы управляем
изменениями? Специальные процессы и процедуры Множественное ревью на предмет Сompatibility, Security, Performance etc. – Tracking, Accepting / Rejecting – Проверяются изменения В спецификации В реализации JCP + OpenJDK 45 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
46.
Какие изменения допустимы? Предлагаемое
изменение Добавить что-нибудь в Public API (пакет / класс / метод / поле) Удалить что-нибудь из Public API Update Major release + - -* Добавить что-нибудь в Private API + + Удалить что-нибудь из Private API +** + Изменить спецификацию чего-нибудь - +** Исправить ошибку (несоответствие +**,*** поведения требуемому в спецификации) + * - @Deprecated, @Override ** - проанализировать риски *** - см. следующий слайд 46 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
47.
Adding null key
to empty TreeMap without Comparator should throw NPE JDK-5045147 47 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. JDK-2188127
48.
«Давайте разрешим менять спецификацию
чаще!» Кто начнёт сходить с ума? – Пользователи – Инженеры Java Platform – Лицензиаты Java Совместимость может нарушаться! – см. следующий слайд 48 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
49.
Совместимость может нарушаться! Compatibility: –
binary – source – Behavioral Bug-2-Bug Incompatibilities – between Java SE 7 and Java SE 6 – between JDK 7 and JDK 6 – Java SE 7 and JDK 7 Compatibility 49 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
50.
Наши инструменты (TCK
Tools) Проверяются изменения в сигнатурах SigTest - http://sigtest.java.net/ – JDK – Public API Жёсткие правила для Major Releases Очень жёсткие правила для Updates – NetBeans – Plugin API: полегчало! Разметка спецификации и привязка тестов – SpecTrac / SpecDiff http://jcp.org/en/resources/tdk 50 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
51.
Выход Java 8
передвинут на март http://mreinhold.org/blog/secure-the-train – Люди не берутся из ниоткуда – Добавляя людей в конце проекта, сроки не уменьшить – Какие рассматривались варианты? Выкинуть Lambda Выпустить в срок с сыроватыми Lambda Подвинуть на полгода http://openjdk.java.net/projects/jdk8/ 51 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
52.
Что в итоге
Обновление платформы, используемой сотнями миллионов людей – это очень сложный процесс! Разные политики обновления для Major Releases (Java 7 → Java 8) и для Updates (7uXX) – Отслеживание/Управление изменениями – Специальные процессы – Review изменений разными командами – Инструменты: SpecTrac, SigTest и другие 52 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
53.
Компромиссы в обновлении платформы
Java Инженерное искусство – это искусство компромисса! A trade-off (or tradeoff) is a situation that involves losing one quality or aspect of something in return for gaining another quality or aspect. 53 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
54.
Java Platform Tradeoffs
Cкорость выхода новых версий vs. Качество Cкорость vs. частота выпуска CPU Совместимость vs. Развитие И так далее – Подробности после перерыва! 54 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
55.
Java Platform Updates Q&A 55 Copyright
© 2013, Oracle and/or its affiliates. All rights reserved.
56.
Часть 2. Java Platform
Tradeoffs 56 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
57.
Agenda Частота выхода апдейтов
Фикс багов ломает совместимость История про Substring Совместимость как груз тянущий вниз История о неизвестных отцах История о четырёх аккумуляторах GUI: Нативный или универсальный? История про Beep Как быть хитрому лицензиату? 57 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
58.
Сюжет 1 Апдейты: часто
или редко? 58 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
59.
Обновления Java и
политика 59 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
60.
60 Copyright © 2013,
Oracle and/or its affiliates. All rights reserved.
61.
Сюжет 2 Исправление багов или
совместимость? 61 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
62.
Adding null key
to empty TreeMap without Comparator should throw NPE JDK-5045147 62 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. JDK-2188127
63.
Adding null key
to empty TreeMap without Comparator should throw NPE JDK-5045147 63 Copyright © 2013, Oracle and/or its affiliates. All rights reserved. JDK-2188127
64.
Сюжет 3 String.substring() 64 Copyright ©
2013, Oracle and/or its affiliates. All rights reserved.
65.
65 Copyright © 2013,
Oracle and/or its affiliates. All rights reserved.
66.
66 Copyright © 2013,
Oracle and/or its affiliates. All rights reserved.
67.
67 Copyright © 2013,
Oracle and/or its affiliates. All rights reserved.
68.
Since JDK 7u6 68 Copyright ©
2013, Oracle and/or its affiliates. All rights reserved.
69.
Performance vs. Memory 69 Copyright
© 2013, Oracle and/or its affiliates. All rights reserved.
70.
Сюжет 4 Совместимость или
новые фичи? 70 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
71.
71 Copyright © 2013,
Oracle and/or its affiliates. All rights reserved.
72.
72 Copyright © 2013,
Oracle and/or its affiliates. All rights reserved.
73.
Сюжет 5 Неизвестные отцы 73 Copyright
© 2013, Oracle and/or its affiliates. All rights reserved.
74.
74 Copyright © 2013,
Oracle and/or its affiliates. All rights reserved.
75.
75 Copyright © 2013,
Oracle and/or its affiliates. All rights reserved.
76.
76 Copyright © 2013,
Oracle and/or its affiliates. All rights reserved.
77.
77 Copyright © 2013,
Oracle and/or its affiliates. All rights reserved.
78.
Сюжет 6 История о
четырёх аккумуляторах 78 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
79.
79 Copyright © 2013,
Oracle and/or its affiliates. All rights reserved.
80.
80 Copyright © 2013,
Oracle and/or its affiliates. All rights reserved.
81.
81 Copyright © 2013,
Oracle and/or its affiliates. All rights reserved.
82.
Утекающий Striped64 Варианты решения:
Делегирование вместо наследования Дупликация кода Кодогенерация в билде JDK 82 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
83.
Утекающий Striped64 Варианты решения:
Делегирование вместо наследования Дупликация кода Кодогенерация в билде JDK Serialization Proxy 83 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
84.
Сериализация Implements Serializable Есть
в любой JDK Гибкая – writeObject, readObject, readObjectNoData – writeReplace, readResolve – Externalizable Легко использовать Много лет, мало багов 84 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
85.
Сюжет 7 GUI: Нативный
или универсальный? 85 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
86.
86 Copyright © 2013,
Oracle and/or its affiliates. All rights reserved.
87.
Сюжет 7 Toolkit.beep() 87 Copyright ©
2013, Oracle and/or its affiliates. All rights reserved.
88.
88 Copyright © 2013,
Oracle and/or its affiliates. All rights reserved.
89.
Java 7 89 Copyright ©
2013, Oracle and/or its affiliates. All rights reserved.
90.
Java 7 Java 8 90 Copyright
© 2013, Oracle and/or its affiliates. All rights reserved.
91.
Сюжет 8 История о
хитром лицензиате 91 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
92.
92 Copyright © 2013,
Oracle and/or its affiliates. All rights reserved.
93.
Выводы Большинство tradeoff’ов
связаны с совместимостью – в том или ином её смысле Имеющиеся риски трудно оценивать Разные риски в update releases и в major updates Java двигается в Embedded – Больше различий в поведении 93 Copyright © 2013, Oracle and/or its affiliates. All rights reserved.
94.
Q&A 94 Copyright © 2013,
Oracle and/or its affiliates. All rights reserved.
95.
Мои контакты @23derevo alexey.x.fedorov@oracle.com fyodorov.spbu@gmail.com Skype: fyodorov.spbu http://about.me/alexey.fyodorov 95 Copyright
© 2013, Oracle and/or its affiliates. All rights reserved.
Download now