Обновить
256K+

Java *

Объектно-ориентированный язык программирования

249,34
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Возвращение LTS: ты не пройдёшь… мимо новых фич Java 25

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели14K

В одной из моих предыдущих статей я писал о фичах между LTS-версиями Java 17 и 21. Сегодня, два года спустя (Как?! Уже два года?!), выходит новый LTS-релиз — Java 25.

Подавляющее большинство проектов пропускают промежуточные релизы и используют только LTS-версии Java. Так что давайте посмотрим, какие возможности новая LTS-версия (Java 25) приносит по сравнению с предыдущей LTS-версией (Java 21).

Читать далее

Как получить и использовать бесплатную лицензию PVS-Studio на практике. Часть 1: подготовка и начало работы

Время на прочтение5 мин
Охват и читатели12K

Многие разработчики слышали о статическом анализаторе PVS-Studio, но не все знают, что анализатор можно использовать бесплатно на постоянной основе. В этой статье мы разберём, какие существуют варианты бесплатного лицензирования, для кого они подходят и как начать пользоваться инструментом.

Читать далее

Spring Security для начинающих: конспект от аутентификации до JWT

Уровень сложностиСредний
Время на прочтение23 мин
Охват и читатели38K

На Хабре уже много статей про Spring Security — от кратких заметок до глубоких разборов. В этой статье я решил собрать всё в формате конспект-мануала, который можно читать как пошаговое введение: от базовой аутентификации и фильтров до JWT и OAuth2. Это материал, собранный по официальной документации и дополненный разъяснениями «на простом языке». Я не работал в больших enterprise-командах, поэтому буду рад комментариям и советам от более опытных коллег. Местами я использовал помощь ChatGPT: он помог структурировать материал и сделать стиль более читабельным, ближе к документации.

Читать далее

Java 25, холивары вокруг Spring и PostgreSQL на скоростях: что будет на Java Rock Stars Meetup

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели10K

25 сентября в Москве мы снова собираем участников Java-сообщества вместе. В программе: хардкорные доклады, дискуссия о будущем Spring в России и много живого общения.

Регистрируйтесь на митап по ссылке.

А пока присоединяйтесь к нашему ТГ-каналу и чату Java Rock Stars Meetup, чтобы быть в курсе новостей митапа.

Читать далее

JEP 502 — Stable Values. Новая фича из Java 25

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели13K

Не final едины: StableValue в Java 25.

Stable Values - новая возможность, которая появится в Java 25 — следующем LTS-релизе, намеченном на сентябрь.

Читать далее

Maven: verify или clean install?

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели13K

Если вы автоматически пишете mvn clean install при сборке проекта, то вы такой точно не один — эта команда прочно укоренилась в привычке Java-разработчиков. Но действительно ли она всегда необходима? Что, если вместо неё использовать verify?

В новом переводе от команды Spring АйО мы погрузимся в детали жизненного цикла Maven, поведение реактора, инкрементные сборки и подводные камни использования clean и install. А главное — попробуем понять, когда можно (и нужно) обойтись без install и clean, чтобы ускорить сборку и сократить расходы памяти.

Читать далее

Баги носят данные. Проверка Apache NiFi

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели7.2K

Сбор, обработка и перемещение данных — ключевые процессы в IT. Но что, если они нарушатся из-за коварных багов в коде? Рассказываем об ошибках, найденных статическим анализатором в проекте Apache NiFi.

Читать далее

UUIDv7 в PostgreSQL 18

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели27K

Совсем скоро (в конце сентября) выйдет PostgreSQL 18. Релиз готовит важные обновления — от асинхронного I/O до EXPLAIN с показателями CPU и WAL. 

Довольно громкая новинка — нативная поддержка UUIDv7, нового стандарта уникальных идентификаторов, идеально подходящих для B-tree индексов. 

В новом переводе от команды Spring АйО рассказывается, почему это важно, как работает UUIDv7 и чем он лучше UUIDv4 для современных распределённых систем.

Читать далее

Pro Деньги. JSR-354

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели8K

Достаточно часто в реализации сервисов есть необходимость оперировать денежными единицами, хранить их в БД, обмениваться по API и выполнять конвертацию

Читать далее

Как мы создали курс по разработке мобильных игр, в котором Java оживает, а наставник становится другом

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели10K

В этом году мы запустили новую образовательную программу «Разработка мобильных игр» для школьников 8–9 классов — и она получилась по-настоящему особенной. Это не просто очередной курс по программированию или геймдеву: мы объединили код, персонажей, физику и истории в одно целое, сделав обучение настоящим приключением. Вместо сухих лекций, ребята начинают стажировку в виртуальной гейм-студии, где их сопровождает наставник Максим. Он не просто рассказывает про программирование, а делится эмоциями, личными историями и шутками про баги. Объясняет сложные вещи «на пальцах», вместе с учениками разбирает задачки и отвечает на вопросы в формате встреч (лонгридов) с примерами кода и иллюстрациями. Такая история «по ту сторону экрана» сильно вовлекает учеников: сторителлинг помогает им лучше усваивать материал и понимать, зачем всё это нужно.

Читать далее

Пять производительных паттернов кэширования, которые ускорят ваш микросервис

Время на прочтение6 мин
Охват и читатели20K

В современных микросервисных архитектурах кэширование играет ключевую роль в обеспечении высокой производительности, масштабируемости и отказоустойчивости систем. Правильное применение паттернов кэширования позволяет значительно снизить нагрузку на базы данных, уменьшить время отклика и повысить общую пропускную способность системы.

Читать далее

Нововведения Java 25

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели30K

Java не стоит на месте и продолжает активно развиваться. Скоро выйдет уже 25-я версия языка. В этом релизе изменили работу с boilerplate-кодом и конструкторами, а также отказались от поддержки устаревших систем. Обо всех этих и других нововведениях расскажем в статье.

Читать далее

Что нового в Maven 4?

Уровень сложностиПростой
Время на прочтение15 мин
Охват и читатели24K

В новом переводе от команды Spring АйО рассматриваются основные изменения, которые ждут нас в новой версии Maven. Изменения затронули performance, POM, новый тип упаковки, улучшения для подпроектов и много другое. 

Читать далее

Ближайшие события

Testcontainers: путь к надежным интеграционным тестам в Spring Boot

Уровень сложностиСредний
Время на прочтение19 мин
Охват и читатели12K

Мы знаем, что разработка надежных приложений требует тщательного тестирования. Многие программисты и даже целые компании склонны полагаться исключительно на юнит-тесты, считая, что этого достаточно для обеспечения качества их приложений. Однако такой подход часто демонстрирует свои минусы на этапе вывода функционала в тестовый контур, а далее уже в продакшн. Где-то не заполнилось поле, которое должно быть Not Null, где-то не создался Kafka-consumer из-за опечатки в конфиге. Сколько раз такие проблемы возникали в вашей практике и приводили к тому, что нужно срочно делать Pull Request с исправлением очевидной ошибки, испытывая стыд перед коллегами за то, что совершили такую элементарную оплошность? Сколько раз компоненты, прекрасно работающие по отдельности, выбрасывали пачки исключений при совместной работе?

Избежать таких сценариев помогут интеграционные тесты. И сегодня мы поговорим об одном из инструментов интеграционного тестирования – TestContainers.

Читать далее

Java Digest #28

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели11K

Всем привет! 👋👋👋👋👋

Мы Java-разработчики Т-Банка: Андрей, Арсений, Роман, Константин и Константин. Собираем интересные новости, статьи, туториалы и другие материалы из мира Java-разработки и делимся этим со всем сообществом.

Соскучились по AoT-компиляции? Даже если нет, упоминаний о ней не избежать. Java 25, Spring 7, Spring Boot 4, Gradle 9.0.0, Intellij IDEA 2025.2, Amplicode 2025.2, что-то релизнулось, что-то только собирается, но обо всем уже нашли статьи и собрали для вас. 

А теперь к громким новостям. Нидерландские ученые убили SQL — именно так мог бы звучать заголовок к научной статье о том, как 2,5 млн строк кода на PL/SQL переводили на Java с помощью LLM.

Читать далее

Что скрывает ваш API Gateway

Время на прочтение7 мин
Охват и читатели11K

В современном мире цифровых сервисов и микросервисной архитектуры, предоставление внешнего API становится критически важной задачей для любого бизнеса.

Хорошо спроектированный и надежный API — это ворота, через которые ваши данные и функциональность взаимодействуют с внешним миром: мобильными приложениями, веб‑сайтами, партнерскими сервисами и даже внутренними клиентами.

Читать далее

Как прокачать Java-приложения без миграции: Axiom JDK Express теперь на JVM 21

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели11K

Мы знаем, как это бывает: проект на Java 8 живёт уже десятый год, релизить страшно, тестов мало, миграция пугает, а система критичная. И вот бизнес хочет «ускорить и не трогать».

Читать далее

95% пилотных проектов в области генеративного ИИ в компаниях проваливаются

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели12K

Несмотря на высокий интерес компаний к генеративному ИИ и его потенциал для роста выручки, подавляющее большинство корпоративных проектов терпит неудачу. Новый отчёт MIT указывает, что только 5% пилотных внедрений приносят ощутимый финансовый эффект. В переводе от команды Spring АйО рассмотрим основные причины, которые кроются не в самих моделях, а в ошибочной интеграции, неправильных приоритетах и нехватке адаптации под бизнес-процессы.

Читать далее

Туториал kafka + springboot + docker

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели16K

Я часто работаю с Apache Kafka, но внезапно поймал себя на мысли, что совсем не понимаю как она устроена. Тогда я решил поднять кафку локально и поиграться с ней, а чтобы точно понимать что я делаю - написал эту статью.

Читать далее

HistoryHelper — плагин для DBeaver, который генерирует history-таблицы и триггеры за пару кликов

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели21K

HistoryHelper - плагин для DBeaver

Зачем и почему?

Работая с БД часто приходится вручную писать SQL для создания history-таблиц, которые хранят "историю" о каждой записи из таблицы. То есть, если запись создана/изменена/удалена, для неё создается новая запись в таблице с окончанием "_hist" или "_history".

Задача знакомая, но крайне рутинная: для каждой таблицы нужно вручную писать SQL, проверять, чтобы все колонки были учтены, тип колонок был корректным, и не было опечаток.

Поэтому, я решил сделать небольшой плагин для DBeaver, который предоставляет удобное меню выбора колонок и событий.

После нескольких выходных дней получилась минимальная реализация, которой хочу с вами поделиться.

В данный момент реализован самый простой функционал.

Читать далее