Java-дайджест за 30 апреля
- Марк Рейнхольд (Chief Architect of the Java Platform Group at Oracle) рассказал о новом проекте [1]: Project Leyden. Проект должен решить проблему долгого запуска, медленного достижения пиковой производительности и лютого пожирания оперативной памяти… нет, не с помощью GraalVM. Предполагается генерить статические бинарники на существующей инфраструктуре — HotSpot JVM, jaotc AOT compiler [2], AppCDS [3] и jlink [4]. Ссылка на твит с обсуждением — здесь [5]. Забавно, что твит сразу же заретвитил Томас Вюртингер (сумрачный гений GraalVM), а Рейнхольд заретвитил ретвит [6] обратно к себе в ленту. Там у них своя атмосфера.
- Сборщики мусора Shenandoah и ZGC двигаются в прод, как сказано в соответствующих двух документах: JEP 379 [7] и JEP 377 [8]. Оба сборщика запланированы на JDK 15, который должен выйти [9] 15 сентября.
- Общественность узнала о новом JEP 376 с говорящим названием «ZGC: Concurrent Thread-Stack Processing» [10]. Процессинг thread-stack уберут из сейфпоинтов ZGC, он станет ленивым, кооперативным, конкуррентным и инкрементальным. В рамках работы над этим JEP-ом подразумевается создать механизмы, которые позволят другим подсистемам HotSpot лениво обрабатывать стеки.
- Команда Spring решила поменять версионирование [11] релиз-трейнов и модулей. С 2013 года использовались релиз-трейны [12], упорядоченные в алфавитном порядке. Это вызвало много шума [13] от людей, не знакомых с английским алфавитом. Если увидите такого Spring-разработчика, дайте знать в комментариях! Теперь проект переходит на тупой календарный порядок (calver) [14] в формате
YYYY.MINOR.MICRO[-MODIFIER]
(например, 2020.0.0-SNAPSHOT
). Что касается модулей, то там порядок поддерживали совместимым с OSGi Semantic Versioning [15] и теперь переехали на MAJOR.MINOR.PATCH[-MODIFIER]
(например, 2.3.0-SNAPSHOT
).
- Кстати, навыходили свежие версии Spring Framework [16] (5.2.6, 5.1.15, 5.0.17) и Spring Data [17] (Neumann RC2, Moore SR7, and Lovelace SR17), Spring Cloud Stream Horsham.SR4 (3.0.4.RELEASE) и Spring Cloud Hoxton.SR4 (одна новость на двоих [18]).
- Проект Eclipse Ditto дожил до версии 1.1.0 [19]. Напоминаю, Ditto — это эклипсовский флагман для IoT, занимающийся поддержанием digital twins — пар из реального IoT-устройства и его цифрового двойника. Разработчики заняты улучшением протокола, внедрением MQTT 5 [20] и реализацией этого всего в Java. Они даже успели перевести API version 1 как deprecated, а JSON-сериализацию заменить на CBOR [21] (RFC 7049 Concise Binary Object Representation), так что жизнь там кипит.
- Вышел JetBrains Big Data Tools EAP 7 [22]. Исправили баги, добавили SOCKS proxy для соединения с Zeppelin и Spark Monitoring, для Zeppelin добавили новые экшены Run All Above и Run All Below. Отполировали экран с настройками. Подробности нужно читать в ченжлоге [23].
- Чтобы не создавать впечатление, что IDEA — это единственная IDE на свете, нужно вспомнить JBoss Tools and Red Hat CodeReady Studio for Eclipse 2020-03 [24]. Там запилили поддержку свежего OpenShift 4.4 и различных языковых фичей (Java 14, Kubernetes, Openshift, S2i, Docker properties, MicroProfile REST Client, MicroProfile Health). Улучшили поддержку Quarkus и Hibernate, отполировали панель отладки… и конечно же, тёмная тема! Всё становится лучше с тёмной темой.
Сервисы
- Google рассказали [25], что поддержкой Anthos [26] для мультиклаудов теперь можно пользоваться. Это такая штука, которая позволяет консолидировать операции по всем площадкам — от серверов в собственном датацентре, до AWS и Azure.
- Вышел OpenShift 4.4 [27]. Работает на Kubernetes 1.17, проведена работа по улучшению эффективности операторов. В качестве превью, в контейнерах можно запускать пайплайны CI/CD (работают поверх Tekton [28]). Добавили Stream Control Transmission Protocol (SCTP), научили DNS отдавать эндпоинты вне кластера, перешли на HAProxy 2.0 и включили end-to-end HTTP/2, добавили новый дашборд с метриками и многое другое.
- Amazon Simple Email Service (Amazon SES) теперь позволяет подключать [29] SMTP-эндпоинты к приватному облаку (VPC) с помощью VPC-эндпоинта на AWS PrivateLink. То есть можно подключаться к SMTP-эндпоинту безопасно, без необходимости включать в этом VPC отдельный интернет-шлюз. Мелочь, а приятно.
- KSQL [30] стал доступен [31] всем пользователям usage-based планов подписки на Confluent Cloud Platform [32].
Статьи, ролики, подкасты
- Завтра, 1 мая, в 21.00 по московскому времени, проводим «Битовую Каску» с Алексеем Фёдоровым — лидером питерского JUG и настоящим продюсером компании JUG Ru Group, которая делает Joker и JPoint. По ссылке [33] — счётчик обратного отсчета до начала трансляции. Окончательная ссылка на трансляцию будет расшарена за 10 минут до начала во всем известных чатиках вроде @javawatch [34].
- Виктор Гамов начал делать крутые стримы по средам [35]. Один стрим уже прошёл, запись с таймкодами выложена на YouTube [36]. Запущен таймер до следующего раза!
- Подкаст «Разбор Полётов» выпустил новый выпуск: «Episode 208 — Interview — Сделайте мне хорошо» [37]
- Мартин Фаулер разразился статьей «Patterns for Managing Source Code Branches» [38]. Очень рекомендую прочитать.
- Дональд Рааб, автор Eclipse Collections, в статье «Eager is Easy, Lazy is Labyrinthine» [39] рассказывает о трудностях отладки ленивого кода.
- Джош Лонг написал очередной выпуск Spring Tips [40], речь пойдет о The Wavefront Observability Platform [41] и том, как это всё относится к Spring Cloud Sleuth (спринговой абстракцией для контроля за потоком сообщений).
- Подробное описание, что произошло в мире Spring за неделю, лучше читать не здесь, а у Джоша Лонга в очередном «This week in Spring» [42]
- Адам Бьен на стримах airhacks.fm (уже 85-й выпуск) продолжает хачить MicroProfile [43].
Разное
- От COVID-19 умер [44] известный автор портала InfoQ, Ян Стенберг [45] (Jan Stenberg). Он написал на портале около трех сотен новостей, часть из которых использовалась при подготовке этого дайджеста — он писал про DDD, микросервисы и прочую архитектуру применительно к Java и .NET. Друзья, сидите дома и не рискуйте лишний раз!
Дайджесты публикуются при поддержке JUG Ru Group и конференции JPoint. Зарегистрироваться на летнюю онлайн-конференцию можно на официальном сайте [46].
Автор: Олег Чирухин
Источник [47]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/java/352618
Ссылки в тексте:
[1] рассказал о новом проекте: https://mail.openjdk.java.net/pipermail/discuss/2020-April/005429.html
[2] jaotc AOT compiler: https://openjdk.java.net/jeps/295
[3] AppCDS: https://openjdk.java.net/jeps/310
[4] jlink: https://openjdk.java.net/jeps/282
[5] здесь: https://twitter.com/mreinhold/status/1254812999145017351
[6] заретвитил ретвит: https://twitter.com/mreinhold/status/1255214683168145412
[7] JEP 379: https://openjdk.java.net/jeps/379
[8] JEP 377: https://openjdk.java.net/jeps/377
[9] должен выйти: https://openjdk.java.net/projects/jdk/15/
[10] «ZGC: Concurrent Thread-Stack Processing»: https://openjdk.java.net/jeps/376
[11] решила поменять версионирование: https://spring.io/blog/2020/04/30/updates-to-spring-versions
[12] релиз-трейны: https://spring.io/blog/2013/02/13/spring-data-release-train-arora-available
[13] много шума: https://github.com/spring-cloud/spring-cloud-release/issues/168
[14] календарный порядок (calver): https://calver.org/
[15] OSGi Semantic Versioning: https://www.osgi.org/wp-content/uploads/SemanticVersioning.pdf
[16] Spring Framework: https://spring.io/blog/2020/04/28/spring-framework-5-2-6-5-1-15-5-0-17-and-4-3-27-available-now
[17] Spring Data: https://spring.io/blog/2020/04/28/spring-data-neumann-rc2-moore-sr7-and-lovelace-sr17
[18] одна новость на двоих: https://spring.io/blog/2020/04/27/announcing-spring-cloud-stream-horsham-sr4-3-0-4-release-and-spring-cloud-hoxton-sr4
[19] до версии 1.1.0: https://www.eclipse.org/ditto/2020-04-29-release-announcement-110.html
[20] MQTT 5: https://docs.oasis-open.org/mqtt/mqtt/v5.0/mqtt-v5.0.html
[21] CBOR: https://cbor.io/
[22] Big Data Tools EAP 7: https://blog.jetbrains.com/idea/2020/04/big-data-tools-eap-7-bugfixes-and-improvements/
[23] в ченжлоге: https://youtrack.jetbrains.com/issues/BDIDE?q=%23%7BEAP%207%7D%20%23Resolved
[24] JBoss Tools and Red Hat CodeReady Studio for Eclipse 2020-03: https://tools.jboss.org/blog/12.15.0.ga.html
[25] рассказали: https://cloud.google.com/blog/topics/anthos/anthos-for-aws-is-now-ga
[26] Anthos: https://cloud.google.com/anthos
[27] OpenShift 4.4: https://www.openshift.com/blog/openshift-4.4-continues-the-evolution-of-the-kubernetes-platform
[28] поверх Tekton: https://developers.redhat.com/blog/2020/04/30/creating-pipelines-with-openshift-4-4s-new-pipeline-builder-and-tekton-pipelines/
[29] теперь позволяет подключать: https://aws.amazon.com/about-aws/whats-new/2020/04/amazon-ses-now-offers-vpc-endpoint-support-for-smtp-endpoints/
[30] KSQL: https://www.confluent.io/product/ksql/
[31] стал доступен: https://www.confluent.io/blog/confluent-cloud-ksql-as-a-service/
[32] Confluent Cloud Platform: https://www.confluent.io/confluent-cloud
[33] По ссылке: https://www.youtube.com/watch?v=Egu3I15zoKw
[34] @javawatch: https://tele.click/javawatch
[35] стримы по средам: https://twitter.com/gamussa/status/1253082604456366082
[36] выложена на YouTube: https://www.youtube.com/watch?v=O968f81LTeY
[37] «Episode 208 — Interview — Сделайте мне хорошо»: https://razborpoletov.com/2020/04/episode-208
[38] «Patterns for Managing Source Code Branches»: https://martinfowler.com/articles/branching-patterns.html
[39] «Eager is Easy, Lazy is Labyrinthine»: https://medium.com/javarevisited/eager-is-easy-lazy-is-labyrinthine-b12605f13048
[40] очередной выпуск Spring Tips: https://spring.io/blog/2020/04/29/spring-tips-the-wavefront-observability-platform
[41] The Wavefront Observability Platform: https://www.wavefront.com/
[42] «This week in Spring»: https://spring.io/blog/2020/04/29/this-week-in-spring-april-28th-2020
[43] хачить MicroProfile: https://adambien.blog/roller/abien/entry/jakarta_ee_and_microprofile_siblings
[44] умер: https://www.infoq.com/news/2020/04/jan-stenberg
[45] Ян Стенберг: https://www.infoq.com/profile/Jan-Stenberg/
[46] можно на официальном сайте: https://jpoint.ru/registration/?utm_source=habr&utm_medium=499926
[47] Источник: https://habr.com/ru/post/499926/?utm_source=habrahabr&utm_medium=rss&utm_campaign=499926
Нажмите здесь для печати.