#java_core — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #java_core, aggregated by home.social.
-
[Перевод] Разрыв в неизменяемости: почему Java Records нужны оптики (Lenses)
Records, pattern matching и sealed-типы сделали Java куда более «функциональной» — читать вложенные данные стало легко и красиво. Но как только вам нужно изменить что-то глубоко внутри неизменяемой структуры, начинается боль: каскад пересоздания records, копирование полей, десятки строк ради одного изменения. В новом переводе от команды Spring АйО рассмотрим, почему у современной Java всё ещё есть пробел в истории неизменяемости — и как оптики закрывают его. Если pattern matching — это про элегантное чтение , то оптики дают то, чего так не хватает, — композиционную запись : определили путь один раз и дальше меняете вложенные поля одной строкой, без ручной реконструкции и без циклов.
https://habr.com/ru/companies/spring_aio/articles/1001066/
#java #kotlin #jvm #optics #java_core #spring #spring_framework #spring_boot
-
[Перевод] Hidden классы в Java. Что скрывают Lambda выражения
С переходом Java на более безопасные и стандартизированные подходы к динамической генерации классов, скрытые (hidden) классы стали ключевым механизмом замены устаревшего Unsafe::defineAnonymousClass . Они решают проблемы доступности, управления жизненным циклом и контроля доступа, особенно актуальные для разработчиков фреймворков и языков на JVM. Хотя скрытые классы пока не полностью заменяют функциональность Unsafe , они лежат в основе ряда важных механизмов, такие как, например, реализация лямбд в JDK. Подробнее - в новом переводе от команды Spring АйО .
https://habr.com/ru/companies/spring_aio/articles/980928/
#java #kotlin #jvm #java_core #spring #spring_boot #spring_framework #springboot #spring_data
-
Java 25 выходит уже сегодня
Четверть века назад язык, придуманный для «умных тостеров», стал символом корпоративного софта и огромных систем. Сегодня Java продолжает эволюционировать, и каждая новая версия всё сильнее ломает стереотип о «тяжёлом корпоративном динозавре». Встречайте 25 версию Java вместе с командой Spring АйО !
https://habr.com/ru/companies/spring_aio/articles/947420/
#java #kotlin #oracle #java_core #java_25 #spring #spring_boot #spring_framework #springboot #core
-
Java 25 выходит уже сегодня
Четверть века назад язык, придуманный для «умных тостеров», стал символом корпоративного софта и огромных систем. Сегодня Java продолжает эволюционировать, и каждая новая версия всё сильнее ломает стереотип о «тяжёлом корпоративном динозавре». Встречайте 25 версию Java вместе с командой Spring АйО !
https://habr.com/ru/companies/spring_aio/articles/947420/
#java #kotlin #oracle #java_core #java_25 #spring #spring_boot #spring_framework #springboot #core
-
JEP 520: Метод-трейсинг и тайминг в JFR — замер времени конкретных методов без кода и агентов
Команда Spring АйО провела небольшое исследование JEP 520. В Java 25 JFR (Java Flight Recorder) позволит точно отслеживать выполнение конкретных методов — без изменения исходников, без логирования и без сторонних Java-агентов.
https://habr.com/ru/companies/spring_aio/articles/933306/
#java #kotlin #java_core #spring #spring_boot #spring_framework #springboot #spring_security #spring_data #spring_data_jpa
-
[Перевод] Structured Concurrency в Java: наконец-то находит опору
API structured concurrency в Java наконец-то обрёл устойчивость. В новом переводе от команды Spring АйО подробно рассматриваются последние изменения, появившиеся с выходом JEP 505: фабричный метод open() , политики Joiner'ов, улучшенная отмена задач, дедлайны, передача контекста через ScopedValues и строгая защита от ошибок использования. Всё это делает параллельное программирование в Java более безопасным, читаемым и управляемым.
https://habr.com/ru/companies/spring_aio/articles/930812/
#java #kotlin #java_core #spring #spring_boot #spring_framework #springboot #spring_data #spring_data_jpa
-
Задачи от Tinkoff для Junior Java developers
Отличная тренировка для начинающих разработчиков на знание Java core. В статье будет представлено описание 5 задач с разным уровнем сложности. Надеюсь, эти задачи будут хорошей тренировкой для тебя и ты сможешь закрепить свои знания на практике. Позже появится мое решение на GitHub .