J
Java
04.10.2026 13:03 · 👁 1.1K
🧠 Spring AI показал, как сделать RAG заметно умнее обычного vector search.
Проблема классического RAG: похожий документ ещё не значит полезный.
Новый пайплайн делает так:
Question → Rewrite → MultiQuery → Vector Search → Jev Filter → Rerank → LLM
Jev проверяет каждый найденный chunk: есть ли там реальный ответ, противоречие или prompt injection.
В демо vector search нашёл 6 фрагментов, но до модели дошли только 2 действительно полезных.
Меньше мусора в контексте → точнее ответы и меньше шансов на prompt injection.
Код и разбор:
https://spring.io/blog/2026/10/02/spring-ai-modular-rag-typesafe-jev/
J
Java
01.10.2026 11:01 · 👁 1.8K
⚡️ Spring Boot 4 убрал статус WILL_EXPIRE_SOON: проверьте мониторинг сертификатов
В Spring Boot 3 SSL-компонент health endpoint переходил в особый статус WILL_EXPIRE_SOON, если сертификат скоро истекал. Для проб Kubernetes и балансировщиков это было неудобно: непонятно, считать сервис живым или нет.
В Spring Boot 4 этот статус убрали. Health остаётся UP, а цепочки сертификатов, срок которых скоро закончится, перечисляются в details.expiringChains. Порог предупреждения задаётся свойством management.health.ssl.certificate-validity-warning-threshold:
management:
health:
ssl:
certificate-validity-warning-threshold: 14d
endpoint:
health:
show-details: always
Ответ /actuator/health тогда выглядит так:
{
"status": "UP",
"details": {
"expiringChains": ["server-cert…"]
}
}
Практический вывод простой: пробы больше не будут дёргаться из-за истекающего сертификата, но и алерт по смене статуса тоже не сработает. Если мониторинг ловил WILL_EXPIRE_SOON, переключите его на проверку непустого expiringChains и не забудьте включить show-details, иначе деталей в ответе не будет.
J
Java
28.09.2026 09:42 · 👁 2.1K
💡 Java: не создавайте тяжёлые объекты раньше времени
Если объект дорогой в создании, но нужен только в редких сценариях, eager initialization может зря тратить время и память.
Вместо этого используйте lazy initialization:
private HeavyAnalyzer analyzer;
private HeavyAnalyzer analyzer() {
if (analyzer == null) {
analyzer = new HeavyAnalyzer();
}
return analyzer;
}
Так HeavyAnalyzer создастся только при первом реальном обращении.
Где особенно полезно:
- кэши;
- API-клиенты;
- тяжёлая конфигурация;
- анализаторы;
- объекты с дорогой инициализацией.
Для более чистого кода можно использовать Supplier, holder pattern или современные lazy-механизмы Java.
Если доступ идёт из нескольких потоков, простая проверка if (analyzer == null) уже недостаточна - нужна потокобезопасная реализация.
J
Java
25.09.2026 12:01 · 👁 2.2K
⚡️Продвинутый Java-совет: используйте `ClassValue`
Если нужно кешировать метаданные отдельно для каждого класса, не обязательно создавать ConcurrentHashMap<Class<?>, Metadata>.
private static final ClassValue<Metadata> CACHE =
new ClassValue<>() {
@Override
protected Metadata computeValue(Class<?> type) {
return scan(type);
}
};
Metadata metadata = CACHE.get(MyClass.class);
ClassValue лениво вычисляет значение, безопасно работает при конкуренции потоков и хранит отдельный результат для каждого Class. Сбросить кеш можно через remove().
Полезно для reflection, сериализации, мапперов и собственных фреймворков.
#Java #JavaTips #Backend
J
Java
24.09.2026 11:04 · 👁 2.2K
Kotlin 2.5.0-Beta1 вышел
JetBrains выпустила первую бета-версию Kotlin 2.5.0.
Главное:
- Language: стабильная name-based destructuring в only-syntax режиме, плюс экспериментальные companion extensions и blocks.
- Standard Library: новые экспериментальные функции для упрощения типичных конструкций с if.
- Kotlin/JS: добавлена поддержка target ES2020.
- Compiler: более предсказуемое поведение inline-функций при компиляции .klib.
Пока это Beta, но релиз уже показывает, в какую сторону движется Kotlin 2.5: меньше синтаксического шума, современнее JS-таргеты и более стабильное поведение компилятора.
https://kotl.in/2-5-0-beta1
J
Java
23.09.2026 11:56 · 👁 2K
Spring Boot 4: как перенести старые настройки
При обновлении добавьте временную зависимость:
runtimeOnly("org.springframework.boot:spring-boot-properties-migrator")
После запуска приложения migrator:
* найдёт устаревшие и переименованные параметры;
* выведет подсказки в логах;
* временно преобразует старые ключи во время выполнения.
Исправьте настройки в application.properties или application.yaml, убедитесь, что предупреждения исчезли, и удалите зависимость. Оставлять её в проекте постоянно не нужно.
#SpringBoot4 #Migration
При обновлении добавьте временную зависимость:
runtimeOnly("org.springframework.boot:spring-boot-properties-migrator")
После запуска приложения migrator:
* найдёт устаревшие и переименованные параметры;
* выведет подсказки в логах;
* временно преобразует старые ключи во время выполнения.
Исправьте настройки в application.properties или application.yaml, убедитесь, что предупреждения исчезли, и удалите зависимость. Оставлять её в проекте постоянно не нужно.
#SpringBoot4 #Migration
J
Java
23.09.2026 09:03 · 👁 1.5K
⚡️⚡️Joker 2026: что происходит с профессией разработчика
Индустрия разработки проходит через серьезный переломный момент. Меняются не только инструменты и фреймворки, но и привычный подход к работе.
Поэтому в этом сезоне меняется и Joker: первый день традиционно посвящен Java — Core Java, рантайму и работе на уровне железа. А во второй день будем обсуждать, как прямо сейчас меняется сама инженерная практика.
В программе — Context Engineering, команды из людей и ИИ-агентов, Self-Evolving Agents, новые подходы к архитектуре и работе с моделями, а также вопросы ответственности и роли эксперта.
Собрали главные темы второго дня в карточках.
🌟С промокодом: javatg1 персональные билеты дешевле
Полное расписание и билеты — на сайте.
J
Java
22.09.2026 17:10 · 👁 1.4K
🚀 Anthropic представила Claude Opus 5.5
Новая флагманская модель стала сильнее Opus 5, при этом работает быстрее и дешевле.
Что изменилось:
- сильнее в агентном программировании, computer use и knowledge work
- лучше справляется с длинными задачами и большими кодовыми базами
- ответы стали короче и естественнее
- улучшена устойчивость к prompt injection
- Anthropic заявляет примерно на 40% более низкую стоимость на типичных задачах и более чем на 30% более быструю генерацию
Из примеров:
- один из ранних тестеров провёл миграцию 680 000 строк кода менее чем за день
- в тесте Anthropic модель переписала HAProxy с C на Rust за 9,5 часа
Цена API:
- $4 / 1M входных токенов
- $20 / 1M выходных токенов
- $0,20 / 1M токенов при чтении кеша
Бенчмарки:
- Terminal-Bench 4.0 — 66,4%
- FrontierCode v1.1 — 54,4%
- Humanity’s Last Exam — 67,7% с инструментами
Также Anthropic подтвердила, что Claude Sonnet 5.5 и Haiku 5.5 выйдут в ближайшие недели.
https://www.anthropic.com/claude-opus-5-5
J
Java
22.09.2026 15:07 · 👁 1.8K
Как дать ИИ-агенту доступ к корпоративным данным и ничего не сломать
6 октября в 17:00 мск в Архитектурном клубе Яндекс 360 разберут, как устроены агенты, которые работают с внутренними документами, поиском и сервисами компании.
На встрече Архитектурного клуба Даниил Смирнов, руководитель службы бэкенд-разработки Антиспама Яндекс 360, покажет весь контур системы: оркестратор, инструменты, память, EVAL и наблюдаемость.
Помимо обзора архитектуры на встрече разберут:
- как агент наследует права доступа исходных систем;
- как изолировать данные пользователей и организаций;
- как не допустить утечек через поисковый индекс и кеш;
- как контролировать автономные действия;
- как оценивать поиск, выбор инструментов и итоговые ответы по отдельности.
📅 6 октября, 17:00 мск
💻 Онлайн, бесплатно
→ [Зарегистрироваться]
J
Java
19.09.2026 13:00 · 👁 2.5K
🚀 JetBrains обновила roadmap Kotlin: главный фокус - Multiplatform, Wasm и удобство разработки
Что сейчас в приоритете:
- довести Kotlin/Wasm до Stable
- ускорить KAPT до уровня Java APT
- улучшить incremental compilation в K2
- сделать новый JVM reflection
- перевести wasm-wasi на WASI Preview 2 и добавить Component Model
- продвинуть Swift Export из Alpha в Beta
- улучшить Xcode integration и Kotlin/Native debugger
- добавить импорт Swift Package Manager пакетов
- развивать Kotlin LSP и поддержку VS Code
- выпустить единый Kotlin Toolchain
- добавить first-class поддержку JPA/Hibernate для Kotlin stdlib types
- стабилизировать kotlinx.serialization, kotlinx.collections.immutable и kotlinx-io
- выпустить Kotlin DataFrame 1.0
- добавить HTTP/3 и gRPC в Ktor
Из уже завершённого: Swift 6.3 support, multi-module compilation для Kotlin/Wasm, Navigation3 для Compose Multiplatform и 18-месячное окно security fixes для stdlib.
Главное направление видно очень чётко: Kotlin всё сильнее двигается в сторону полноценной кроссплатформенной экосистемы — JVM, iOS, WebAssembly и web.
Следующее обновление roadmap запланировано на февраль 2027.
https://kotlinlang.org/docs/roadmap.html