Java Digest #1: Java 21 готова і буде гарячою, Kafka каже “па-па” ZooKeeper-у, Vector-search в Cassandra
Алоха, друзі! Червень видався гаряченьким на події і новини, але пам’ятайте, що зібрати цей дайджест стало можливим виключно завдяки ЗСУ і читати ви його зараз можете теж завдяки ним.
Тому швидесенько перед прочитанням пішли міняти долари і кидати гривні на допомогу нашим Захисникам.
Java 21 — жарти в сторону!
Java 21 переходить у Rampdown Phase, що означає, що всі покращення і оновлення вже в білді, і тепер буде все тільки перетестовуватись і поліруватись.
Але, boy-oh-boy, скільки всього смачного ми побачимо в новій LTS версії! Білд міститиме 15 JEP-ів, в т.ч. Generational ZGC, Record Patterns, Pattern Matching for switch, Virtual Threads та багато іншого. Детальніше тут.
Завантажити і спробувати EA білд 21 можна тут. Для ентузіастів, які люблять жити на гребені хвилі та хіпстерів — білд Java 22 EA тут.
Одним з найобговорюваніших топіків, звісно, став JEP 445: Unnamed Classes and Instance Main Methods (Preview). І став він таким не через його екстраординарну значущість, а з огляду на кількість мемасіків, які ком’юніті згенерувало.
Глобальний тренд оказуалення мов програмування давно прослідковується і в Java, і це закономірний (давно очікуваний) крок. Вивчати мову і писати скрипти на ній однозначно буде приємніше.
Проте, редакція дайджесту хоче звернути увагу читача на інші важливі і солідні зміни.
Нашими фаворитами є:
- JEP 430: String Templates (Preview);
- JEP 453: Structured Concurrency (Preview);
- JEP 446: Scoped Values (Preview) (стаття для більшого контексту тут).
Також, рекомендуємо до прочитання статтю Stuart «Dr.Deprecator» Marks про потенційні виклики в реалізації Sequenced Collections. А для тих, хто ще не встиг познайомитись із цією новою фічею джави, запрошуємо до перегляду:
А тут Billy Korando в епізоді Sip of java розповідає про апдейти в джавадоці, які доступні вже з jdk-20. Якщо ви любите відео Біллі так само, як ми, то ось вам ще одне — про Collections Utility Class.
В продовження покращень — стаття (насправді частина дослідження на PhD) про оптимізацію утилізації пам’яті завдяки автоматизованому контролю розміру хіпа в ZGC.
Brian Goetz разом з Gavin Bierman випустив твір-роздум на тему патернів, якими вони керувались в редизайні switch-a.
Ну, і для тих, хто краще сприймає на слух — Nicolai Parlog розганяє хайп-трейн Java 21 тут. А щоб підкреслити, наскільки нова версія джави буде великою, Nicolai записав додаткове відео, оскільки опустив кілька важливих деталей в першому. ¯\_(ツ)_/¯
Час оновлювати версії
- Spring Security Kerberos 2.0.0 available now
- Spring Shell 3.0.5 and 3.1.1 are now available
- Quarkus 3.1.1.Final Released
- JHipster v8.0.0-beta.1 Released
- Eclipse Vert.x 4.4.3 Released
- Elasticsearch 8.8.1 Released
- Netflix conductor v3.13.7 Released
- Micronaut Framework 3.9.3 Released
- Apache camel-3.18.8 Released
До інших важливих апдейтів в світі JVM і суміжних світах
Scala випустила 2 релізи: v2.12.18 та 3.3.0. Разом з новими версіями тепер доступний і Scala-toolkit, наразі у версії 0.2.0.
Spring Boot вже доступний у наступних версіях 2.7.13, 3.0.8 та 3.1.1.
Josh Long (а хто ж іще) випустив (ще в травні, але ми слоупоки) оглядову екскурсію, як рухатись швидко з Spring Boot 3.1. А Jorgen Haller оголосив про реліз Spring Framework 6.1 M1, з якого відомо чого чекати у наступній версії улюбленого фреймворку, а саме:
- Embracing JDK 21 LTS;
- Virtual Threads (Project Loom);
- JVM Checkpoint Restore (Project CRaC);
- Data Binding and Validation, revisited.
Wiremock випустив лібу для зручної роботи з популярними апішками, за списком сюди.
На сайті Testcontainers вийшов гайд з роботи з JOOQ і Flyway. Також AtomicJar випустили оглядовий гайд, як тестувати Spring Boot апки за допомогою тест-контейнерів, після того, як в SpringBoot 3.1 була додана нативна їх підтримка.
У світі Kafka відбулася довгоочікувана подія — реліз 3.5, що дозволить нарешті позбутись ZooKeeper-a та мігрувати «старі» 2.Х ворклоади на KRaft.
Cassandra не відстає від трендів — нам завезли vector search, що, як обіцяє Datastax, полегшить написання LLM і Generative AI-застосунків.
Micronaut випустив чергові мінорні версії 3.9.3 та 3.9.4 — в них з цікавого апгрейд до Netty 4.1.92 та 4.1.94 відповідно, а також апгрейди Servlet і AWS модулів. І, продовжуючи тему Мікронавта, Oracle випустив v3.8.5 Graal Cloud Native.
На почитати (і на подивитись)
🔗 Ігор Дідик ділився досвідом написання ботів для Telegram на Lviv JavaClub.
🔗 Oracle дає можливість здати OCI сертифікації безоплатно з липня по кінець серпня 2023.
🔗 Аліна Юренко (дев-адвокат graalvm в Oracle) випустила статтю про нові релізи GraalVM і нові безкоштовні ліцензії до них.
🔗 Микола Винницький випустив гайд для початківців по роботі з Apache Airflow.
🔗 А IntelliJ Idea потішить (?) нас новим дизайном UI вже у версії 2023.2.
🔗 John A. De Goes, один з видатних пропагандистів функціонального програмування та активних прихильник Scala, взяв участь в цікавому подкасті від Tech Conception, в якому розповів про адаптацію функціонального програмування бізнесом та розвиток Scala для масового застосування.
🔗 Потроху починають з’являтися в загальному доступі відеозаписи з DevoxxUK (який відбувся
🔗 Robert Metzeger виклав свої слайди з BerlinBuzzWords про оптимізацію споживання пам’яті для Apache Flink.
Stack Overflow опитування
13 червня 2023 Stack Overflow виклав результати свого великого інженерного опитування, в якому взяли участь 90 тисяч спеціалістів з усього світу.
Результати виявились досить передбачуваними: JavaScript і Python в топі, Java все ще найпопулярніша серед олдскульних бекенд мов (з гарним запасом).
Однак у фінансовій галузі Java залишається номер один.
ІТ. Повернення до корінь
Нещодавно була новина про те, що AWS перейшли з мікросервісної архітектури на монолітну та зменшили витрати на 90%. Виявляється, старі рішення можуть мати нові переваги!
Тепер Instacart вирішили попрощатись з хмарними сервісами та повернутись до власної, внутрішньої інфраструктури. Хоча хмарні сервіси зручні та гнучкі, вони можуть бути дорогими для тривалого використання.
Компанія виявила, що володіння власною інфраструктурою може бути вигіднішим і ефективнішим. Цей перехід дозволив зекономити понад 50% витрат.
Таким чином, здається, ідеї минулого знову знаходять своє місце в сучасному світі ІТ.
11 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів