????????Приветствуем в новогоднем Java Digest! ????????

В этом выпуске с радостью представляем некоторые захватывающие статьи, связанные с миром Java и его новейшими разработками. Приготовьтесь узнать о главных моментах Java в 2023 году, улучшениях в сборщиках мусора в JDK 21, устаревших функциях в Java 18—21, применении CDS с Spring Framework 6.1 и многом другом.

Главные новости

JEP 462: Structured Concurrency направлен в Java 22. JEP с описанием о внедрении API для структурированной конкурентности в Java 22 добавлен, чтобы упростить параллельное программирование. Структурированная конкурентность рассматривает группы связанных задач, выполняющихся в разных потоках, как единую единицу работы. Это оптимизирует обработку ошибок, отмену операций, повышает надежность и обеспечивает лучшую наблюдаемость за кодом.


JEP 458: Launch Multi-File Source-Code Programs направлен в Java 22. JEP с описанием улучшенного запуска приложений Java добавляется в Java 22 для запуска программ, представленных в виде нескольких файлов исходного кода Java. Это позволит постепенно переходить от небольших программ к более крупным, давая разработчикам выбор, когда имеет смысл заботиться о настройке инструментов сборки.

Интересные видео

Java Highlights of 2023. Был прекрасный год для нашего любимого языка. В этом видео подведены итоги и подсвечены яркие моменты. Вышла Java 21, снизился порог вхождения в язык, все больше проектов переезжают с 8-й на новые версии, в августе проведен JVM Language Summit, а ряды Java-чемпионов пополнились новыми людьми.

Java 22 Unpacking - Inside Java Newscast #59. Николай рассказывает, какие JEP войдут в Java 22, — как в стабильном статусе, так и в статусах preview и incubating. Безымянные переменные, газереры для стримов, шаблонизированные строки, Class-File API, FFM API и многое другое — обо этих фичах мы уже писали в предыдущих выпусках, и здесь они собраны вместе. Видео дарит ощущение настоящего праздника, так что скорее открывайте его и получайте удовольствие ☃️

Another VS Code Extension For Java ? Туториал посвящен расширению для VS Code для работы с Java от Oracle. Вы узнаете, как его подключить и настроить. Как с его помощью скомпилировать, запустить и отладить код, как работать с тестами и выполнять простые рефакторинги. Словом, все самое необходимое.

How Netflix Is Upgrading to Spring Boot 3. Сказ о том, как в Netflix на Spring Boot 3 переходили.

Полезные статьи

JDK 21: The GCs keep getting better. Статья про улучшение производительности сборки мусора в JDK 21 по сравнению с JDK 8 и другими версиями. Автор использует бенчмарк SPECjbb® 20151 для демонстрации прироста производительности и обсуждает влияние новых функций, включая виртуальные потоки и сопоставление с образцом для оператора switch, на результаты.

Deprecated Features in Java 18 thru 21. Между версиями Java 18 и 21 появилось много новых функций, а некоторые выбывают из использования. В статье рассмотрены альтернативы для нескольких ключевых функций, которые были устаревшими или удалены.

CDS with Spring Framework 6.1. Начиная со Spring Framework 6.1, появилась начальная поддержка Class Data Sharing, которая позволяет уменьшить время старта приложения.

Java 21: So How Should We Construct Strings Now? Небольшая, но полезная статья про сравнение методов конкатенации строк с точки зрения байткода и следа в памяти. Помимо привычных методов также рассматриваются string templates, которые до сих пор находятся в preview-статусе.

Garbage Collection и JVM. Отличная статья-конспект, в которой кратко описывается работа всех GC в JVM и некоторые параметры их конфигурации. Статья может быть полезна как начинающим, так и более опытным инженерам, если хочется освежить тему в памяти.

String Templates in Java – why should you care? Обстоятельная статья про шаблонизированные строки — фичу, которая появится в Java 22 в превью. Ее ждали очень давно, и такие строки есть во многих языках. В Java их реализовали очень интересно. Помимо стандартных возможностей использовать переменные и вызовы функций внутри строк мы получим возможность определять свои кастомные правила формирования конечной строки из шаблона. В статье приводятся несколько любопытных примеров вроде более умного логирования данных, полученных от пользователя, для противодействия хакерским атакам. Кроме того, вы узнаете, как Intellij IDEA поможет в использовании этой фичи.

Спасибо за прочтение! Выпуск подготовили Константин, Андрей и Арсений. А помогал нам @IvanVakhrushev????

Ждем вопросов и предложений в комментариях. Увидимся через месяц ????

Все выпуски дайджеста за 2023 год: 

Java Digest #1

Java Digest #2

Java Digest #3

Java Digest #4

Java Digest #5

Java Digest #6

Java Digest #7

Комментарии (2)


  1. OldNileCrocodile
    06.01.2024 11:33

    JEP 458: Неужели гении из Oracle таки решили перенести partial classes из мира .NET?

    Вот не удивлюсь, если через 5 лет Microsoft купит Oracle.


    1. maximovkl Автор
      06.01.2024 11:33
      +2

      Нет, тут про то, что если ты с помощью утилиты java компилишь и запускаешь один конкретный файл, но при этом он юзает классы из других файлов, то до 22ой Java у тебя бы падала ошибка. Теперь такая ситуация будет резолвиться автоматически, утилитка сама найдёт и скомпилит нужные файлы.