В этом выпуске
— 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/
Ссылка 2: http://www.codeaffine.com/2016/02/18/junit-5-first-look/
Разработчики обещают много приятных фич — поддержка лямбд, динамическую регистрацию тестов, и т.д… Более подробно можно почитать в официальной документации. Часть этого функционала присутствовала и в предыдущих версиях. Но API JUnit 4 далек от идеала. Наращивание функционала привело к накоплению технического долга, выражающегося в конкурирующих интерфейсах, запутанных сущностях, и прочих странностях. В новой версии API будет не только более продвинутым, но и более удобным, и целостным. Ждем.
1.2. Дни CMS сочтены
Ссылка 1: http://openjdk.java.net/jeps/291
Ссылка 2: http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/2016-June/018353.html
Ссылка 3: http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/2016-July/018532.html
Это не новость. Идея удалить CMS была материализована в виде JEP-а еще в 2015-м году. Oracle хочет целиком сфокусироваться на развитии G1. Однако сейчас разработчики вплотную подошли к началу выпиливания, что породило ряд вопросов.
Так, представители SAP и Google заявляют, что хотят продолжать развивать CMS в рамках своих сборок OpenJDK. Поэтому CMS нельзя просто взять и выпилить. Его хорошо бы либо абстрагировать, либо выключать его компиляцию каким-нибудь макросом. Но и здесь не все гладко, так как Oracle с большим скрипом пропускает пуши со стороны в кодовую базу OpenJDK.
Парням из Oracle все эти сложности нафиг не нужны. Идеальный вариант для них — просто грохнуть кодовую базу. Комментарий Mark Reinhold позволяет надеяться, что IT-гигант проявит определенную ответственность, и стороны смогут придти к компромиссу.
1.3. Тренды и тенденции в Java: большое исследование RebelLabs
Ссылка: http://zeroturnaround.com/rebellabs/java-tools-and-technologies-landscape-2016/
Ребята из 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/
Если коротко: «отставить панику, ситуация под контролем, на JavaOne все расскажем». На самом деле, тема стенаний Java EE уже немного утомила. Поэтому возможно действительно стоит расслабиться, и просто дождаться сентября. А там, гляди, и «само рассосется». Хотя едва ли многие из вас сильно напрягались по этому поводу :-)
Тем временем Mark Little из RedHat немного прояснил ситуацию с MicroProfile. Это инициатива про стандарты, и не про стандарты. Про Java EE, и не про Java EE. Продвигать ее будут через JCP, и не через JCP. Короче говоря, за все хорошее, против всего плохого. Пока что выглядит слишком рыхло.
Кстати, еще одна хорошая новость — WebSphere теперь Java EE 7 compliant! Поздравляем коллег из IBM. Как говорится, дорога ложка к обеду.
2. Почитать
2.1. В дебри JIT вместе с Azul
Ссылка: https://www.youtube.com/watch?v=oH4_unx8eJQ
Шикарный доклад о внутренностях JIT от Douglas Hawkins из Azul Systems. Настоятельно рекомендовано к просмотру, если вы не присутствовали на самом ивенте, организованным JUG.RU.
2.2. О чем молчит G1
Ссылка: https://dzone.com/articles/understanding-g1-gc-log-format
У CMS земля горит под ногами. Поэтому самое время поднатореть в дебаге проблем G1, и разобраться, что он печатает в лог. Автор статьи достаточно сжато и лаконично рассказывает, как начать говорить с новым сборщиком мусора на одном языке.
2.3. Интервью с CEO JetBrains
Ссылка: http://www.rbc.ru/spb_sz/04/07/2016/577a35b09a79477fa19c6cb5
Всегда инетерсно почитать интервью с умным человеком. Просто оставлю это здесь.
3. Мудрость
3.1. Do Repeat Yourself
Sometimes duplicating things, either code or data, can significantly simplifies a system. DRY isn't absolute.
— John Carmack (@ID_AA_Carmack) 15 июля 2016 г.
3.2. Про тестирование
I'm beginning to believe that writing well-designed tests actually requires more technical skill than the code it tests.
— Dan Allen (@mojavelinux) 9 июля 2016 г.
3.3. Performance и элегантность
"The key to performance is elegance, not battalions of special cases." - Jon Bentley and Doug McIlroy
— Programming Wisdom (@CodeWisdom) 12 июля 2016 г.
Это все хорошо конечно, но элегантность и простота зачастую требуют титанических усилий. Мы редко можем это себе позволить в повседневной практике.
4. Юмор
4.1. Все тлен
We designed distributed architectures, highly available and resilient systems, reactive interfaces & what are they for?
Catching Pokemons ;(— Mario Fusco (@mariofusco) 16 июля 2016 г.
4.2. Антипаттерны
Reminder that some anti-patterns look impressive. pic.twitter.com/uMFuqeSYIg
— map perkins (@mapperkins) 12 июля 2016 г.
Предыдущие выпуски
#5 (20.06.2016 — 03.07.2016)
#4 (06.06.2016 — 19.06.2016)
#3 (23.05.2016 — 05.06.2016)
Автор: devozerov