Java Digest #3: Towards Consenders, Apache Camel 4.0, Uber Cadence, Postman’s State of the API, pg_later

💡 Усі статті, обговорення, новини про Java — в одному місці. Приєднуйтесь до Java спільноти!

🙋 Алоха, друзі!

Ось і добіг до свого логічного кінця останній місяць літа. Щоб ви не сумували за літом, ми підготували для вас найсвіжіші новини за серпень.

Попередні дайджести можна прочитати тут і тут.

❗️ Але пам’ятайте, що це стало можливим виключно завдяки ЗСУ і читати ви його зараз можете теж завдяки ним. Тому швидесенько перед прочитанням пішли міняти долари та кидати гривні на допомогу нашим Захисникам.

Уже цього вересня ми всі зможемо випробувати релізну версію Java 21. Але прогрес не стоїть на місці. Тому найзатятіші шанувальники Java вже можуть насолодитися наступною версією Java. Нещодавно став доступним 11 білд JDK 22 EA. Детальну інформацію про JDK 22 EA можна знайти тут.

Кожен, хто бажає допомогти з тестуванням, може повідомити про баги у JDK 21 і JDK 22 через Java Bug Database.

Brian Goetz, Mark Reinhold та Paul Sandoz викотили дуже цікаву статтю про (вибачте за нашу французьку) «збірні конденсатори», концепт яких самі автори називають центральним в проєкті Leyden. За фулом — сюди.

Ну, і не включити виступ з JVM Language Summit нашого улюбленого Java Language Architect в дайджест ми не могли:

А оскільки жодна порядна конфа сьогодні не обходиться без доповіді про віртуальні потоки, ось вам відповідна з того ж таки JVML:

І, якщо, вже цього мало, то ось виступ самого Ron Pressler:

Тут можна прочитати літній апдейт по JEP-у, присвяченому Foreign Function & Memory API від Maurizio Cimadamore. Більше про Foreign Function & Memory API можна дізнатись з цього відео:

І одразу дві новини від OpenJDK Quality Group: Починаючи з Java 21, JLine буде новим дефолтом для виклику консолі, а також зміни в роботі процесора анотацій. Детальніше тут і тут.

Також протягом серпня ми натрапили на 2 цікаві драфти JEP, а саме про обчислювальні константи та про AOT компіляцію для JVM. Судячи з усього, константи як прев’ю-фіча будуть доступні в якомусь із білдів 22 джави. Детальніше про них можна прочитати в блог-пості Pera Minborg. Взагалі, обчислювальні константи є також наріжним каменем продовження роботи над проєктом Layden в тому числі.

Черговий випуск Inside Java цього разу присвячений Key Encapsulation Mechanism API:

А тут можна прочитати список покращень GC, які чекають нас у 21 джаві. Користувачі можуть очікувати покращень у G1 GC.

Якщо ви любите займатися оптимізовуванням використання ресурсів, тоді рекомендуємо ознайомитися зі звітом-рісерчем на тему покращення дефолтних налаштувань JVM, який опублікував Bruno Borges з Microsoft.

Команда Timefold провела порівняльний бенчмарк Java 21 vs Java 17. Відповідно до їх дослідження, оновлення до Java 21 може підвищити продуктивність.

Який би місяць, пора року чи час доби за вікном не був, команда Spring клепає апдейти в кращих традиціях промислової революції.

У середині серпня був випущений четвертий майлстоун Spring Framework 6.1.0, який включає багато цікавого. Передусім це новий JdbcClient, який був зроблений подібно до DatabaseClient у R2DBC. З інтерфейсом можна ознайомитися тут. У цій версії також додано новий RowMapper, який вміє автоматично «мапити» значення. Серед іншого, була додана підтримка моніторингу показників і трасування для JMS, підтримка CompletableFuture для методів анотованих @Cacheable і багато іншого. Докладнішу інформацію про це оновлення можна знайти в нотатках до релізу.

Spring Modulith нарешті отримав GA версію. Проєкт розпочався як науково-дослідна ініціатива близько 5 років тому, а минулого року був переведений у статус експериментального. Якщо ви віддаєте перевагу тому, щоб створювати добре структуровані програми Spring Boot, то рекомендуємо ознайомитися з даним проєктом.

Також був випущений другий майлстоун Spring Boot 3.2.0. Цілком очікувано він додає підтримку останнього майлстоуну Spring Framework 6.1.0. Новий JdbcClient, покращена підтримка віртуальних потоків і численні оновлення залежностей уже чекають на вас.

Нові патч версії Spring Boot 2.7.15, 3.0.10 та 3.1.13 є доступними до завантаження. Ми рекомендуємо вам не ігнорувати нові версії, які виходять регулярно, оскільки вони можуть містити виправлення вразливостей і помилок.

В команді Spring Data не знають, що таке відпочинок, і релізять, релізять, релізять. Spring Data 2023.1.0 під кодовою назвою Vaughn містить: сумісність із JDK 21, підтримку value-classes з Kotlin, використання віртуальних потоків через інтерфейс Executor, а також дослідження потенційних оптимізацій за допомогою координованого відновлення в контрольній точці (Coordinated Restore at Checkpoint — CRaC). Додаткову інформацію про цей випуск можна знайти тут.

Команда Spring Batch випустила нові версії Spring Batch 5.1.0-M2, 5.0.3 and 4.3.9. Також вони випустили новий курс для всіх, хто цікавиться тим, як використовувати їхній продукт у власних проєктах. Дуже рекомендуємо Spring Academy для всіх, хто хоче ставати кращим разом зі Spring.

Spring Cloud потроху готується до випуску Spring Cloud 2023.0.0. В цьому місяці зʼявився перший майлстоун. Команда також випустила Spring Cloud 2022.0.4 (aka Kilburn).

Якщо ви користувач Eclipse чи VS Code — біжіть забирайте чергову версію Spring Tools тут.

Spring Shell 2.1.12, 3.0.7 та 3.1.3 та Spring Authorization Server 1.1.2 також вже у відкритому доступі.

AI нікуди не подівся з трендів і Spring точно від них відставати не збирався, ось тут можна глянути на відповідний експериментальний проєкт. А в доповнення є свіжачкове відео з SpringOne:

  • Microsoft продовжує спробу наздогнати і перегнати AWS, для нас в цьому ключі Azure підгнав Web App Patterns.
  • AWS оголосив про доступність Vector-engine для їх Opensearch Serverless (аналог Elasticsearch).

  • Groovy випустив цілу низку нових версій, включно з альфою майбутньої 5ки, про що у своєму твітері повідомив Paul King.
  • Quarkus випустив версію 3.2.3. з приставкою Final.
  • Micronaut випустив версію 4.0.2, 3.10.0 та 3.9.5, а 24 серпня випустив і 4.0.5.
  • Випуск Hibernate Search 6.2.1.Final містить кілька доволі-таки помітних змін: можливість читати індекси Jandex перезапакованих Spring-програм, при умові, що вони працюють на JDK 13+; пошукові запити з частковими помилками тепер можуть трігернути ексепшин, якщо для проперті hibernate.search.backend.query.shard_failure.ignore встановлено значення false; оновлення залежностей до Hibernate ORM 6.2.7.Final і клієнта Elasticsearch 8.9.0; і сумісність з OpenSearch 2.9.0.
  • Вийшла нова, 6 версія Grails.
  • Нова версія Testcontainers — 1.19.0 вже доступна!
  • Вийшло оновлення до навчальних курсів по Scala від Scala Center.
  • Apache Camel випустив мажорний реліз 4.0.0.
  • Бібліотека Apache Commons додала нові FileUpload можливості для сервлетних вебаплікацій.
  • А тут можна прочитати про можливості для VSCode для Java станом на серпень.
  • Забирайте собі релізи Graal CE тут.
  • Postman опублікував свій щорічний State of the API report.
  • Uber анонсував на загал свою платформу для управління воркфловами. Виглядає вкрай цікаво, на наш смак.
  • ClickHouse анонсували SharedMergeTree and Lightweight Updates.
  • Дуже не по-джаві, але колектив дайджесту просто не міг пройти мимо — nVidia показали світу Neuralangelo.
  • УВАГА! WARNING! POZOR! Це не навчальна тривога! IBM готується випустити Кракена watsonx Code Assistant for Z (в планах на Q4 2023), який буде здатний (допомагати?) транслювати COBOL-код на Java на Z (боже, яка невдала назва) мейнфреймах.
  • pg_later. Ми і до цього вважали PostgreSQL «Ідеалом. Досконалістю. Краще не буває».

🔗 Якщо Вам є що сказати — долучайтесь до дискусії Quarkus vs Micronaut на reddit.

🔗 Billy Korando виклав свою доповідь із SpringIO (який відбувся цієї весни).

🔗 Michael Simmons дає майстер-клас з використання TestContainers разом зі Spring Boot.

🔗 Nicolas Frankel опублікував порівняльню статтю Apache APISIX vs. Spring Cloud Gateway.

🔗 Daniel Raab (людина, яка стоїть за Eclipse Collections) написав дуже цікаву статтю про структури даних, яких все ще нема в JDK — читати тут.

🔗 Ретроспективний погляд на мікросервісну архітектуру від Adrian Cockcroft.

🔗 DTO давно пережили причину, через яку вони зявились (привіт EJB), тож Otavio Santana і Michael Redlich спробували дослідити, чи Java Records це продовження ідей DTO, чи щось більше.

🔗 Компактний і доступний cheat-sheet від Serverless Land на тему queues vs streams vs pub/sub.

🔗 Ken Kousen, автор Tales from the Jar side, випустив цікаве відео (звісно ж) про OpenAI і як його потоваришувати з Java:

🔗 Якщо вас, як і нас, турбує відсутність солідного презенсу джави у світі GPU, можливо, це відео зможе пролити трохи світла на поточний стан речей:

І так, ми, звісно, не забули про TornadoVM:

🔗 Ionut Balosin провів порівняльний аналіз, який з дистрибутивів KDK 17 споживає більше енергії.

🔗 Якщо рівнева компіляція в OpenJDK це те, з чим Ви ще не розібрались — Cesar Soares написав цю статтю спеціально для Вас.

🔗 Nataliia Dziubenko опублікувала цікаву статтю про долю String в світі після Java 21.

🔗 Чи задумувались Ви, як складно дизайнити багатопотокові структури даних? Якою б Ваша відповідь не була, ось ця стаття проливає світло на багато цікавих рішень і трейд-офів.

🔗 Інколи цікаво привідкрити завісу того, що чекає нас в недалекому майбутньому, саме для таких поціновувачів Noria.

І принагідно вітаємо всіх з Днем Незалежності!

Слава Україні! 🇺🇦🇺🇦🇺🇦

😏

Друзі, нам важлива ваша думка! Поділіться в коментарях ідеями, як нам варто покращувати цей дайджест та які новини в ньому вам цікаво читати?

Над дайджестом працювала команда Avenga:

👍ПодобаєтьсяСподобалось14
До обраногоВ обраному3
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Нові патч версії Spring Boot ... 3.1.13 є доступними до завантаження

Бляха, я вже було подумав «коли вони встигли», а там за парканом дрова 3.1.3 ))

Дякую за дайджест!
Багато цікавого. А про Project Valhalla є чутки шо коли?

Самому цікаво. Ще в 2020 розважався з LW-2 dou.ua/...​va-23/?from=profile_stats

Бачу є білди он топ Java20 jdk.java.net/valhalla

Підписатись на коментарі