- PVSM.RU - https://www.pvsm.ru -

Дайджест интересных событий из мира Java, и вокруг нее #6 (04.07.2016 — 17.07.2016)

image

В этом выпуске

— JUnit 5 к нам приходит
— Сборка окончена: CMS будет удален из Java
— Java EE: Oracle прервал молчание
— В дебри JIT вместе с Azul
… и многое другое

1. Новости

1.1.Вышел первый майлстоун-релиз JUnit 5

Ссылка 1: http://www.swiftmind.com/de/2016/07/07/junit-5-0-0-m1-released/ [1]
Ссылка 2: http://www.codeaffine.com/2016/02/18/junit-5-first-look/ [2]

Разработчики обещают много приятных фич — поддержка лямбд, динамическую регистрацию тестов, и т.д… Более подробно можно почитать в официальной документации [3]. Часть этого функционала присутствовала и в предыдущих версиях. Но API JUnit 4 далек от идеала. Наращивание функционала привело к накоплению технического долга, выражающегося в конкурирующих интерфейсах, запутанных сущностях, и прочих странностях. В новой версии API будет не только более продвинутым, но и более удобным, и целостным. Ждем.

1.2. Дни CMS сочтены

Ссылка 1: http://openjdk.java.net/jeps/291 [4]
Ссылка 2: http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/2016-June/018353.html [5]
Ссылка 3: http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/2016-July/018532.html [6]

Это не новость. Идея удалить CMS была материализована в виде JEP-а еще в 2015-м году. Oracle хочет целиком сфокусироваться на развитии G1. Однако сейчас разработчики вплотную подошли к началу выпиливания, что породило ряд вопросов.

Так, представители SAP и Google заявляют, что хотят продолжать развивать CMS в рамках своих сборок OpenJDK. Поэтому CMS нельзя просто взять и выпилить. Его хорошо бы либо абстрагировать, либо выключать его компиляцию каким-нибудь макросом. Но и здесь не все гладко, так как Oracle с большим скрипом [7] пропускает пуши со стороны в кодовую базу OpenJDK.

Парням из Oracle все эти сложности нафиг не нужны [8]. Идеальный вариант для них — просто грохнуть кодовую базу. Комментарий Mark Reinhold [9] позволяет надеяться, что IT-гигант проявит определенную ответственность, и стороны смогут придти к компромиссу.

1.3. Тренды и тенденции в Java: большое исследование RebelLabs

Ссылка: http://zeroturnaround.com/rebellabs/java-tools-and-technologies-landscape-2016/ [10]

Ребята из ZeroTurnaround провели большой опрос Java-специалистов, и составили картину современных тенденций в мире Java. 75% разработчиков думают, что они лучше, чем в среднем по больнице. 3 из 5 попробовавших микросервисы на вкус, не поняли, зачем это все нужно. IDEA наконец обогнала Eclipse. И прочее, и прочее. Почитайте, крайне интересно.

1.4. Oracle рассказал о будущем Java EE

Ссылка: http://www.theregister.co.uk/2016/07/07/oracle_java_ee_8/ [11]

Если коротко: «отставить панику, ситуация под контролем, на JavaOne все расскажем». На самом деле, тема стенаний Java EE уже немного утомила. Поэтому возможно действительно стоит расслабиться, и просто дождаться сентября. А там, гляди, и «само рассосется». Хотя едва ли многие из вас сильно напрягались по этому поводу :-)

Тем временем Mark Little [12] из RedHat немного прояснил [13] ситуацию с MicroProfile. Это инициатива про стандарты, и не про стандарты. Про Java EE, и не про Java EE. Продвигать ее будут через JCP, и не через JCP. Короче говоря, за все хорошее, против всего плохого. Пока что выглядит слишком рыхло.

Кстати, еще одна хорошая новость — WebSphere теперь Java EE 7 compliant [14]! Поздравляем коллег из IBM. Как говорится, дорога ложка к обеду.

2. Почитать

2.1. В дебри JIT вместе с Azul

Ссылка: https://www.youtube.com/watch?v=oH4_unx8eJQ [15]

Шикарный доклад о внутренностях JIT от Douglas Hawkins [16] из Azul Systems. Настоятельно рекомендовано к просмотру, если вы не присутствовали на самом ивенте, организованным JUG.RU.

2.2. О чем молчит G1

Ссылка: https://dzone.com/articles/understanding-g1-gc-log-format [17]

У CMS земля горит под ногами. Поэтому самое время поднатореть в дебаге проблем G1, и разобраться, что он печатает в лог. Автор статьи достаточно сжато и лаконично рассказывает, как начать говорить с новым сборщиком мусора на одном языке.

2.3. Интервью с CEO JetBrains

Ссылка: http://www.rbc.ru/spb_sz/04/07/2016/577a35b09a79477fa19c6cb5 [18]

Всегда инетерсно почитать интервью с умным человеком. Просто оставлю это здесь.

3. Мудрость

3.1. Do Repeat Yourself

3.2. Про тестирование

3.3. Performance и элегантность

Это все хорошо конечно, но элегантность и простота зачастую требуют титанических усилий. Мы редко можем это себе позволить в повседневной практике.

4. Юмор

4.1. Все тлен

4.2. Антипаттерны

Предыдущие выпуски

#5 (20.06.2016 — 03.07.2016) [25]
#4 (06.06.2016 — 19.06.2016) [26]
#3 (23.05.2016 — 05.06.2016) [27]

Автор: devozerov

Источник [28]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/java/158664

Ссылки в тексте:

[1] http://www.swiftmind.com/de/2016/07/07/junit-5-0-0-m1-released/: http://www.swiftmind.com/de/2016/07/07/junit-5-0-0-m1-released/

[2] http://www.codeaffine.com/2016/02/18/junit-5-first-look/: http://www.codeaffine.com/2016/02/18/junit-5-first-look/

[3] официальной документации: http://junit.org/junit5/docs/current/user-guide/

[4] http://openjdk.java.net/jeps/291: http://openjdk.java.net/jeps/291

[5] http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/2016-June/018353.html: http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/2016-June/018353.html

[6] http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/2016-July/018532.html: http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/2016-July/018532.html

[7] большим скрипом: http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/2016-June/018394.html

[8] нафиг не нужны: http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/2016-July/018537.html

[9] Mark Reinhold: http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/2016-July/018545.html

[10] http://zeroturnaround.com/rebellabs/java-tools-and-technologies-landscape-2016/: http://zeroturnaround.com/rebellabs/java-tools-and-technologies-landscape-2016/

[11] http://www.theregister.co.uk/2016/07/07/oracle_java_ee_8/: http://www.theregister.co.uk/2016/07/07/oracle_java_ee_8/

[12] Mark Little: https://www.linkedin.com/in/mark-little-3545a3

[13] прояснил: https://developer.jboss.org/blogs/mark.little/2016/07/04/the-microprofile

[14] Java EE 7 compliant: https://twitter.com/kwsutter/status/750702346955403264

[15] https://www.youtube.com/watch?v=oH4_unx8eJQ: https://www.youtube.com/watch?v=oH4_unx8eJQ

[16] Douglas Hawkins: https://www.linkedin.com/in/dougqh

[17] https://dzone.com/articles/understanding-g1-gc-log-format: https://dzone.com/articles/understanding-g1-gc-log-format

[18] http://www.rbc.ru/spb_sz/04/07/2016/577a35b09a79477fa19c6cb5: http://www.rbc.ru/spb_sz/04/07/2016/577a35b09a79477fa19c6cb5

[19] 15 июля 2016 г.: https://twitter.com/ID_AA_Carmack/status/753745532619665408

[20] 9 июля 2016 г.: https://twitter.com/mojavelinux/status/751595888435294209

[21] 12 июля 2016 г.: https://twitter.com/CodeWisdom/status/752881581392551936

[22] 16 июля 2016 г.: https://twitter.com/mariofusco/status/754361558147469312

[23] pic.twitter.com/uMFuqeSYIg: https://t.co/uMFuqeSYIg

[24] 12 июля 2016 г.: https://twitter.com/mapperkins/status/752891385125212160

[25] #5 (20.06.2016 — 03.07.2016): https://habrahabr.ru/post/304624/

[26] #4 (06.06.2016 — 19.06.2016): https://habrahabr.ru/post/303604/

[27] #3 (23.05.2016 — 05.06.2016): https://habrahabr.ru/post/302734/

[28] Источник: https://habrahabr.ru/post/305890/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best