Установка Java за 5 минут: JDK 21 или 25 — что выбрать новичку в 2026 году

Уже вышла Java 25 — самая свежая версия, которую все хотят попробовать. Но ставить ли её новичку? Или взять проверенную Java 21 LTS? В этом гайде — пошаговая установка Java на Windows с картинками, разбор различий между версиями, настройка JAVA_HOME и PATH ориентирован для начинающих разработчиков, изучающих Java

https://habr.com/ru/companies/otus/articles/994150/

#java #установка_java #jdk #java_25 #java_21 #java_для_начинающих #настройка_окружения #windows #macos

Установка Java за 5 минут: JDK 21 или 25 — что выбрать новичку в 2026 году

Всем привет, меня зовут Сергей Прощаев. Являюсь руководителем направления Java‑разработки в FinTech и преподаю на курсах в компании OTUS и в этой статье я расскажу, как установить...

Хабр

Обработка 100 000 запросов с помощью виртуальных потоков Java и сравнение производительности с обычными потоками

Всем привет! Сегодня хочу затронуть тему виртуальных потоков и выяснить на сколько они лучше (быстрее) и в каких случаях, чем обычные потоки операционной системы (или как еще их называют платформенные потоки). Долгое время java полагалась только на потоки операционной системы для обработки параллельных операций. Это выглядело следующим образом, когда веб-сервер получал запрос, он обычно выделял один поток операционной системы для его обработки. Эта модель называется «поток на запрос». Она очень проста — мы просто пишем блокирующий код так, как если бы он был синхронный, а операционная система обрабатывает переключение контекста между потоками в рамках какого-то процесса. Несмотря на свою простоту, эта модель имеет существенный недостаток: потоки операционной системы обходятся дорого. Каждый поток потребляет от 1 до 2 МБ памяти только на свой стек, а переключение между ними включает в себя переключение контекста на уровне операционной системы, что также является ресурсоемкой операцией. Представьте, что есть задача по обработке 100 000 одновременных запросов с помощью этой модели. Это приведёт к потреблению десятков гигабайт памяти только под стеки потоков и, скорее всего, к аварийному завершению JVM задолго до достижения такого количества потоков, также будет тратиться время на переключение контекста между потоками. Пропускная способность системы резко упадет из-за накладных расходов. Для решения этой проблемы разработчики прибегают к сложным асинхронным моделям программирования, к реактивному программированию, к управлению событиями. Хотя эти подходы и являются мощным инструментом, но они вносят значительную сложность, затрудняя чтение, отладку и сопровождение кода. Мы меняем простоту блокирующего кода на сложности, связанные с неблокирующими коллбэками и реактивными потоками.

https://habr.com/ru/articles/992714/

#virtual_threads #threads #java_21

Обработка 100 000 запросов с помощью виртуальных потоков Java и сравнение производительности с обычными потоками

Всем привет! Сегодня хочу затронуть тему виртуальных потоков и выяснить на сколько они лучше (быстрее) и в каких случаях, чем обычные потоки операционной системы (или как еще их называют платформенные...

Хабр

Как подружить Spring Boot и Redis для эффективного кэширования

Когда проект вырастает из простых задач, каждый повторный запрос к базе данных превращается в бесполезную нагрузку на диски и процессор. И вместо того чтобы заставлять систему раз за разом искать, фильтровать и считывать одни и те же данные, логичнее отдавать их напрямую из оперативной памяти. В этой статье разберем, как эффективно внедрить слой кэширования на связке Redis + Spring Boot 3 / Java 21. Пробежимся по базовым командам Redis, реализуем cache‑aside вручную и через аннотации Spring Cache, а затем разберем два полезных паттерна для микросервисов: Fixed‑Window Rate Limiter и распределенный лок. Не пугайтесь сложных терминов, все понятным языком рассказал под катом.

https://habr.com/ru/companies/selectel/articles/992502/?utm_source=habrahabr&utm_medium=rss&utm_campaign=992502

#selectel #Redis #Spring_Boot_3 #Java_21 #кэширование #распределенный_лок #Spring_Cache #cache_aside #команды_redis

Как подружить Spring Boot и Redis для эффективного кэширования

Когда проект вырастает из простых задач, каждый повторный запрос к базе данных превращается в бесполезную нагрузку на диски и процессор. И вместо того чтобы заставлять систему раз за разом искать,...

Хабр

Как подружить Spring Boot и Redis для эффективного кэширования

Когда проект вырастает из простых задач, каждый повторный запрос к базе данных превращается в бесполезную нагрузку на диски и процессор. И вместо того чтобы заставлять систему раз за разом искать, фильтровать и считывать одни и те же данные, логичнее отдавать их напрямую из оперативной памяти. В этой статье разберем, как эффективно внедрить слой кэширования на связке Redis + Spring Boot 3 / Java 21. Пробежимся по базовым командам Redis, реализуем cache‑aside вручную и через аннотации Spring Cache, а затем разберем два полезных паттерна для микросервисов: Fixed‑Window Rate Limiter и распределенный лок. Не пугайтесь сложных терминов, все понятным языком рассказал под катом.

https://habr.com/ru/companies/selectel/articles/992502/

#selectel #Redis #Spring_Boot_3 #Java_21 #кэширование #распределенный_лок #Spring_Cache #cache_aside #команды_redis

Как подружить Spring Boot и Redis для эффективного кэширования

Когда проект вырастает из простых задач, каждый повторный запрос к базе данных превращается в бесполезную нагрузку на диски и процессор. И вместо того чтобы заставлять систему раз за разом искать,...

Хабр

Обновление Java с 17 на 21: через тернии к звездам

Меня зовут Денис, я тимлид команды R&D в Naumen Service Management Platform. Так как наш продукт написан в основном на Java, мы с большим нетерпением ждали очередной LTS релиз в прошлом году, предвкушая мощь виртуальных потоков и крутизну доработанного pattern matching. В этой статье расскажу, с какими препятствиями на пути миграции систем на Java 21 столкнулась наша команда, что мы получили после обновления и стоит ли вообще обновляться.

https://habr.com/ru/companies/naumen/articles/822639/

#java #java_21 #hibernate #pmd #gwt

Обновление Java с 17 на 21: через тернии к звездам

Меня зовут Денис, я тимлид команды R&D в Naumen Service Management Platform. Так как наш продукт написан в основном на Java, мы с большим нетерпением ждали очередной LTS релиз в прошлом году,...

Хабр

Расширение Функциональных Интерфейсов Java

За годы прошедшие с их появления в Java8 у меня набралась коллекция полезных решений и шаблонов, которые я переносил из проекта в проект, и которые в стандартной версии так и не были осуществлены. Недавно я решил собрать все вместе в небольшом проекте с открытым кодом. В первом релизе проекта расширения охватывают следующие аспекты:

https://habr.com/ru/articles/812451/

#Java #functional_interface #functional_programming #currying #multimethods #exception #exception_handling #extensions #interception #java_21

Расширение Функциональных Интерфейсов Java

За годы прошедшие с появления в Java8 функциональных интерфейсов у меня набралась коллекция полезных решений и шаблонов, которые я переносил из проекта в проект, и которые в стандартной версии так и...

Хабр

На что способны виртуальные потоки Java в обработке файлов

Привет, Хабр! Предисловие Начнем с того,что я не специалист по Java и у меня нет коммерческого опыта на этом языке. Я просто обычный кодер, который по вечерам пилит проекты на Java, а основной мой стек состоит из PHP и смеси Python + Go. В данной статье хочу вам поделиться опытом с использованием виртуальных потоках ( Virtual Threads ) в обработке файлов.

https://habr.com/ru/articles/803955/

#java_21 #парраленьное_програмирование

На что способны виртуальные потоки Java в обработке файлов

Привет, Хабр! Предисловие Начнем с того,что я не специалист по Java и у меня нет коммерческого опыта на этом языке. Я просто обычный кодер, который по вечерам пилит проекты на Java, а основной мой...

Хабр
Java 21が正式リリース ―仮想スレッドやパターンマッチングを強化
https://gihyo.jp/article/2023/09/java21?utm_source=feed
#gihyo #技術評論社 #gihyo_jp #Java #Java_21 #Oracle
Java 21が正式リリース ―仮想スレッドやパターンマッチングを強化 | gihyo.jp

Oracleは2023年9月19日、Java 21を正式にリリースした。Java 21はLTS(Long-Term-Support)バージョンとして8年後までの長期サポートが提供される。

gihyo.jp