#jdk — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #jdk, aggregated by home.social.
-
Why does handling keys in #Java still feel harder than it should? JEP 470 brings first-class #PEM encoding & decoding to the #JDK. Sebastian Hempel walks through the new #APIs and real-world trade-offs.
Upgrade your security toolkit in #Java25: https://javapro.io/2026/02/17/pem-files-as-an-alternative-to-keystores/
-
Why does handling keys in #Java still feel harder than it should? JEP 470 brings first-class #PEM encoding & decoding to the #JDK. Sebastian Hempel walks through the new #APIs and real-world trade-offs.
Upgrade your security toolkit in #Java25: https://javapro.io/2026/02/17/pem-files-as-an-alternative-to-keystores/
-
[Перевод] Java — быстрая. Ваш код может таким не быть
Есть такие анти‑паттерны, которые выглядят нормально и даже проходят код‑ревью, но тихо убивают производительность в горячих местах: - Конкатенация строк в циклах - String.format() в горячем коде - Автобоксинг и так далее. И каждый подобный пролёт делает приложение чуть медленнее, и в какой-то момент это рискует превратиться в критическую массу, которая больно выстрелит на следующем спайке нагрузки. Если вы пишете на Java и у вас всё вроде работает, но под нагрузкой сервисы начинают задыхаться, в новом переводе от команды Spring АйО рассмотрим конкретные паттерны, на которые стоит посмотреть.
-
Что сейчас с Project Loom? Примеры и код
Практика Project Loom: как включить preview Structured Concurrency в javac, Maven и Gradle, как использовать ScopedValue для request context и StructuredTaskScope для параллельных вызовов, joiner’ы, timeout и связка обеих фич в одном примере. Примеры под JDK 25+ Что же с Project Loom?
https://habr.com/ru/articles/1038528/
#Java #Project_Loom #Structured_Concurrency #virtual_threads #Scoped_Values #StructuredTaskScope #JDK #многопоточность #Maven #Gradle
-
Что сейчас с Project Loom? Примеры и код
Практика Project Loom: как включить preview Structured Concurrency в javac, Maven и Gradle, как использовать ScopedValue для request context и StructuredTaskScope для параллельных вызовов, joiner’ы, timeout и связка обеих фич в одном примере. Примеры под JDK 25+ Что же с Project Loom?
https://habr.com/ru/articles/1038528/
#Java #Project_Loom #Structured_Concurrency #virtual_threads #Scoped_Values #StructuredTaskScope #JDK #многопоточность #Maven #Gradle
-
Что сейчас с Project Loom? Примеры и код
Практика Project Loom: как включить preview Structured Concurrency в javac, Maven и Gradle, как использовать ScopedValue для request context и StructuredTaskScope для параллельных вызовов, joiner’ы, timeout и связка обеих фич в одном примере. Примеры под JDK 25+ Что же с Project Loom?
https://habr.com/ru/articles/1038528/
#Java #Project_Loom #Structured_Concurrency #virtual_threads #Scoped_Values #StructuredTaskScope #JDK #многопоточность #Maven #Gradle
-
Что сейчас с Project Loom? Примеры и код
Практика Project Loom: как включить preview Structured Concurrency в javac, Maven и Gradle, как использовать ScopedValue для request context и StructuredTaskScope для параллельных вызовов, joiner’ы, timeout и связка обеих фич в одном примере. Примеры под JDK 25+ Что же с Project Loom?
https://habr.com/ru/articles/1038528/
#Java #Project_Loom #Structured_Concurrency #virtual_threads #Scoped_Values #StructuredTaskScope #JDK #многопоточность #Maven #Gradle
-
All Azul Zulu Container Images Explained: CA, SA, and Chainguard
https://www.azul.com/blog/all-azul-zulu-container-images-explained-ca-sa-and-chainguard/
-
Java Digest #35
Всем привет! 👋👋👋👋👋 Мы — Java-разработчики Т-Банка: Андрей , Арсений , Роман , Константин и Константин. Собираем интересные новости, статьи, туториалы и другие материалы из мира Java-разработки и делимся этим со всем сообществом. В этом выпуске рассказываем, когда ждать релиз Java 27 и как Oracle планирует регулировать использование генеративного ИИ при написании кода. Посмотрим детальное интервью о Spring Framework 7 и Spring Boot 4 с самой командой создателей Spring. Почитаем, как безопасно работать с нативной памятью в многопоточной среде с помощью VarHandle. А еще изучим любопытный постмортем, посвященный расследованию раздувания памяти в контейнерах после перехода на JDK 17. Приятного чтения! Читать 35 выпуск
-
Java Digest #35
Всем привет! 👋👋👋👋👋 Мы — Java-разработчики Т-Банка: Андрей , Арсений , Роман , Константин и Константин. Собираем интересные новости, статьи, туториалы и другие материалы из мира Java-разработки и делимся этим со всем сообществом. В этом выпуске рассказываем, когда ждать релиз Java 27 и как Oracle планирует регулировать использование генеративного ИИ при написании кода. Посмотрим детальное интервью о Spring Framework 7 и Spring Boot 4 с самой командой создателей Spring. Почитаем, как безопасно работать с нативной памятью в многопоточной среде с помощью VarHandle. А еще изучим любопытный постмортем, посвященный расследованию раздувания памяти в контейнерах после перехода на JDK 17. Приятного чтения! Читать 35 выпуск
-
Java Digest #35
Всем привет! 👋👋👋👋👋 Мы — Java-разработчики Т-Банка: Андрей , Арсений , Роман , Константин и Константин. Собираем интересные новости, статьи, туториалы и другие материалы из мира Java-разработки и делимся этим со всем сообществом. В этом выпуске рассказываем, когда ждать релиз Java 27 и как Oracle планирует регулировать использование генеративного ИИ при написании кода. Посмотрим детальное интервью о Spring Framework 7 и Spring Boot 4 с самой командой создателей Spring. Почитаем, как безопасно работать с нативной памятью в многопоточной среде с помощью VarHandle. А еще изучим любопытный постмортем, посвященный расследованию раздувания памяти в контейнерах после перехода на JDK 17. Приятного чтения! Читать 35 выпуск
-
Java Digest #35
Всем привет! 👋👋👋👋👋 Мы — Java-разработчики Т-Банка: Андрей , Арсений , Роман , Константин и Константин. Собираем интересные новости, статьи, туториалы и другие материалы из мира Java-разработки и делимся этим со всем сообществом. В этом выпуске рассказываем, когда ждать релиз Java 27 и как Oracle планирует регулировать использование генеративного ИИ при написании кода. Посмотрим детальное интервью о Spring Framework 7 и Spring Boot 4 с самой командой создателей Spring. Почитаем, как безопасно работать с нативной памятью в многопоточной среде с помощью VarHandle. А еще изучим любопытный постмортем, посвященный расследованию раздувания памяти в контейнерах после перехода на JDK 17. Приятного чтения! Читать 35 выпуск
-
【プログラミング入門】Java【基礎編】 ざっくりわかるプログラミング講座
#Java #JDK #Swing #プログラミング #プログラミング入門 #プログラミング初心者 #プログラミング基礎 #プログラミング学習 #プログラミング講座 #プログラム #プログラム入門 #プログラム初心者 #プログラム基礎 #プログラム学習 #プログラム講座 #入門 #初心者 #基礎 #学習 #講座 #Java基礎・入門 #Java基礎・入門 #Java #J...
-
Common: Commonly usable classes without dependencies
-
Common: Commonly usable classes without dependencies
-
Common: Commonly usable classes without dependencies
-
Common: Commonly usable classes without dependencies
-
Common: Commonly usable classes without dependencies
-
Advanced performance analysis with async-profiler by Andrei Pangin
-
Advanced performance analysis with async-profiler by Andrei Pangin
-
Advanced performance analysis with async-profiler by Andrei Pangin
-
Advanced performance analysis with async-profiler by Andrei Pangin
-
Advanced performance analysis with async-profiler by Andrei Pangin
-
Thread Safe Native Memory in Java
-
Thread Safe Native Memory in Java
-
Thread Safe Native Memory in Java
-
Thread Safe Native Memory in Java
-
Thread Safe Native Memory in Java
-
Best Oracle Java Alternatives in 2026: Comparison of OpenJDK Distributions
-
Best Oracle Java Alternatives in 2026: Comparison of OpenJDK Distributions
-
Best Oracle Java Alternatives in 2026: Comparison of OpenJDK Distributions
-
Best Oracle Java Alternatives in 2026: Comparison of OpenJDK Distributions
-
Best Oracle Java Alternatives in 2026: Comparison of OpenJDK Distributions
-
[Перевод] Самый простой способ устроить утечку памяти в Java
В новом переводе от команды Spring АйО рассмотрим утечки памяти в Java. Не секрет, что GC освобождает только недостижимые объекты. Утечка в Java начинается там, где объект уже не нужен, но на него все еще есть цепочка ссылок от живого потока. Симптомы обычно одинаковые: куча растет, GC срабатывает чаще, паузы увеличиваются, финал - java.lang.OutOfMemoryError: Java heap space . В целом вывод такой, что нужно смотреть график heap в VisualVM/JVisualVM/JConsole, снимать heap dump (jmap), в Eclipse MAT запускать Leak Suspects и проверять цепочки удерживающих ссылок.
https://habr.com/ru/companies/spring_aio/articles/1022018/
#java #kotlin #performance #spring #jdk #gc #spring_boot #spring_framework #springboot
-
[Перевод] Самый простой способ устроить утечку памяти в Java
В новом переводе от команды Spring АйО рассмотрим утечки памяти в Java. Не секрет, что GC освобождает только недостижимые объекты. Утечка в Java начинается там, где объект уже не нужен, но на него все еще есть цепочка ссылок от живого потока. Симптомы обычно одинаковые: куча растет, GC срабатывает чаще, паузы увеличиваются, финал - java.lang.OutOfMemoryError: Java heap space . В целом вывод такой, что нужно смотреть график heap в VisualVM/JVisualVM/JConsole, снимать heap dump (jmap), в Eclipse MAT запускать Leak Suspects и проверять цепочки удерживающих ссылок.
https://habr.com/ru/companies/spring_aio/articles/1022018/
#java #kotlin #performance #spring #jdk #gc #spring_boot #spring_framework #springboot
-
[Перевод] Самый простой способ устроить утечку памяти в Java
В новом переводе от команды Spring АйО рассмотрим утечки памяти в Java. Не секрет, что GC освобождает только недостижимые объекты. Утечка в Java начинается там, где объект уже не нужен, но на него все еще есть цепочка ссылок от живого потока. Симптомы обычно одинаковые: куча растет, GC срабатывает чаще, паузы увеличиваются, финал - java.lang.OutOfMemoryError: Java heap space . В целом вывод такой, что нужно смотреть график heap в VisualVM/JVisualVM/JConsole, снимать heap dump (jmap), в Eclipse MAT запускать Leak Suspects и проверять цепочки удерживающих ссылок.
https://habr.com/ru/companies/spring_aio/articles/1022018/
#java #kotlin #performance #spring #jdk #gc #spring_boot #spring_framework #springboot
-
[Перевод] Самый простой способ устроить утечку памяти в Java
В новом переводе от команды Spring АйО рассмотрим утечки памяти в Java. Не секрет, что GC освобождает только недостижимые объекты. Утечка в Java начинается там, где объект уже не нужен, но на него все еще есть цепочка ссылок от живого потока. Симптомы обычно одинаковые: куча растет, GC срабатывает чаще, паузы увеличиваются, финал - java.lang.OutOfMemoryError: Java heap space . В целом вывод такой, что нужно смотреть график heap в VisualVM/JVisualVM/JConsole, снимать heap dump (jmap), в Eclipse MAT запускать Leak Suspects и проверять цепочки удерживающих ссылок.
https://habr.com/ru/companies/spring_aio/articles/1022018/
#java #kotlin #performance #spring #jdk #gc #spring_boot #spring_framework #springboot
-
Kotlin без «воды»: новая книга для тех, кто хочет изучить язык на практике
Некоторые языки программирования начинают по-настоящему ценить тогда, когда разработчик замечает: значительная часть усилий уходит на решение задачи, а не на борьбу с инструментом. Экосистема Java — хороший пример такого накопленного трения. Она несет в себе наследие решений, принятых десятилетия назад, притом они не обязательно плохие — просто раньше не учитывались те сценарии, которые сегодня стали повседневностью: интенсивная работа с асинхронностью, быстрые итерации, требования к читаемости и поддерживаемости кода. Kotlin возник как попытка аккуратно убрать часть этого трения, не разрушая существующую инфраструктуру. Речь здесь идет о другом уровне комфорта при решении привычных задач — от базовых конструкций до построения полноценных сервисов. Именно этому посвящена только что вышедшая в издательстве «БХВ» книга Елены Ван Энгелен – Масловой « Что внутри?
https://habr.com/ru/companies/bhv_publishing/articles/1021726/
-
Kotlin без «воды»: новая книга для тех, кто хочет изучить язык на практике
Некоторые языки программирования начинают по-настоящему ценить тогда, когда разработчик замечает: значительная часть усилий уходит на решение задачи, а не на борьбу с инструментом. Экосистема Java — хороший пример такого накопленного трения. Она несет в себе наследие решений, принятых десятилетия назад, притом они не обязательно плохие — просто раньше не учитывались те сценарии, которые сегодня стали повседневностью: интенсивная работа с асинхронностью, быстрые итерации, требования к читаемости и поддерживаемости кода. Kotlin возник как попытка аккуратно убрать часть этого трения, не разрушая существующую инфраструктуру. Речь здесь идет о другом уровне комфорта при решении привычных задач — от базовых конструкций до построения полноценных сервисов. Именно этому посвящена только что вышедшая в издательстве «БХВ» книга Елены Ван Энгелен – Масловой « Что внутри?
https://habr.com/ru/companies/bhv_publishing/articles/1021726/
-
Kotlin без «воды»: новая книга для тех, кто хочет изучить язык на практике
Некоторые языки программирования начинают по-настоящему ценить тогда, когда разработчик замечает: значительная часть усилий уходит на решение задачи, а не на борьбу с инструментом. Экосистема Java — хороший пример такого накопленного трения. Она несет в себе наследие решений, принятых десятилетия назад, притом они не обязательно плохие — просто раньше не учитывались те сценарии, которые сегодня стали повседневностью: интенсивная работа с асинхронностью, быстрые итерации, требования к читаемости и поддерживаемости кода. Kotlin возник как попытка аккуратно убрать часть этого трения, не разрушая существующую инфраструктуру. Речь здесь идет о другом уровне комфорта при решении привычных задач — от базовых конструкций до построения полноценных сервисов. Именно этому посвящена только что вышедшая в издательстве «БХВ» книга Елены Ван Энгелен – Масловой « Что внутри?
https://habr.com/ru/companies/bhv_publishing/articles/1021726/
-
Kotlin без «воды»: новая книга для тех, кто хочет изучить язык на практике
Некоторые языки программирования начинают по-настоящему ценить тогда, когда разработчик замечает: значительная часть усилий уходит на решение задачи, а не на борьбу с инструментом. Экосистема Java — хороший пример такого накопленного трения. Она несет в себе наследие решений, принятых десятилетия назад, притом они не обязательно плохие — просто раньше не учитывались те сценарии, которые сегодня стали повседневностью: интенсивная работа с асинхронностью, быстрые итерации, требования к читаемости и поддерживаемости кода. Kotlin возник как попытка аккуратно убрать часть этого трения, не разрушая существующую инфраструктуру. Речь здесь идет о другом уровне комфорта при решении привычных задач — от базовых конструкций до построения полноценных сервисов. Именно этому посвящена только что вышедшая в издательстве «БХВ» книга Елены Ван Энгелен – Масловой « Что внутри?
https://habr.com/ru/companies/bhv_publishing/articles/1021726/
-
Java Digest # 34
В этом выпуске мы узнаем, как Java 26 меняет правила игры с десятком новых JEP - от долгожданного шестого превью Structured Concurrency до похорон апплетов и поддержки HTTP/3. Увидим, как IntelliJ IDEA становится умнее с ИИ-агентами, Spring Debugger с отображением бинов и поддержкой Git worktrees. Обсудим Spring AOT, версионирование API в Spring Boot 4.0. Плюс, как всегда, свежие релизы Spring, Gradle, Micronaut, LangChain4j и бенчмарки Quarkus против Spring. Будет интересно!
-
Java Digest # 34
В этом выпуске мы узнаем, как Java 26 меняет правила игры с десятком новых JEP - от долгожданного шестого превью Structured Concurrency до похорон апплетов и поддержки HTTP/3. Увидим, как IntelliJ IDEA становится умнее с ИИ-агентами, Spring Debugger с отображением бинов и поддержкой Git worktrees. Обсудим Spring AOT, версионирование API в Spring Boot 4.0. Плюс, как всегда, свежие релизы Spring, Gradle, Micronaut, LangChain4j и бенчмарки Quarkus против Spring. Будет интересно!
-
Java Digest # 34
В этом выпуске мы узнаем, как Java 26 меняет правила игры с десятком новых JEP - от долгожданного шестого превью Structured Concurrency до похорон апплетов и поддержки HTTP/3. Увидим, как IntelliJ IDEA становится умнее с ИИ-агентами, Spring Debugger с отображением бинов и поддержкой Git worktrees. Обсудим Spring AOT, версионирование API в Spring Boot 4.0. Плюс, как всегда, свежие релизы Spring, Gradle, Micronaut, LangChain4j и бенчмарки Quarkus против Spring. Будет интересно!
-
Java Digest # 34
В этом выпуске мы узнаем, как Java 26 меняет правила игры с десятком новых JEP - от долгожданного шестого превью Structured Concurrency до похорон апплетов и поддержки HTTP/3. Увидим, как IntelliJ IDEA становится умнее с ИИ-агентами, Spring Debugger с отображением бинов и поддержкой Git worktrees. Обсудим Spring AOT, версионирование API в Spring Boot 4.0. Плюс, как всегда, свежие релизы Spring, Gradle, Micronaut, LangChain4j и бенчмарки Quarkus против Spring. Будет интересно!
-
[Перевод] Раздувание памяти JDK 17 в контейнерах: разбор инцидента
В новом переводе от команды Spring АйО разберем тему раздувания памяти в JDK 17. Апгрейд микросервисов с JDK 8 на JDK 17 прошел dev и QA спокойно, но в проде через 2-3 часа все начало падать. Утилизация памяти выросла в 4 раза, контейнеры стали ловить OOMKill и перезапускаться, Uptime SLA просел, массовый инцидент. Раньше JVM использовала около 50% памяти контейнера и обслуживала ~400 потоков. После релиза стало 95-100% и 1600+ соответственно. При этом heap выглядел нормально, около Xmx, а раздувалась нативная память: ~800 MB -> 3,4-3,6 GB. Виноваты несколько эффектов, которые в контейнерах усиливаются: JVM начала создавать намного больше потоков, OS стала выделять JVM гораздо больше, а дефолтный GC в JDK 17 добавил накладные расходы. Всё это из-за простого бага в JDK, который при миграции утащил за собой весь production.
https://habr.com/ru/companies/spring_aio/articles/1019086/
#jdk_17 #jdk #java #performance #gc #kot #memory #spring #spring_boot #spring_framework
-
[Перевод] Раздувание памяти JDK 17 в контейнерах: разбор инцидента
В новом переводе от команды Spring АйО разберем тему раздувания памяти в JDK 17. Апгрейд микросервисов с JDK 8 на JDK 17 прошел dev и QA спокойно, но в проде через 2-3 часа все начало падать. Утилизация памяти выросла в 4 раза, контейнеры стали ловить OOMKill и перезапускаться, Uptime SLA просел, массовый инцидент. Раньше JVM использовала около 50% памяти контейнера и обслуживала ~400 потоков. После релиза стало 95-100% и 1600+ соответственно. При этом heap выглядел нормально, около Xmx, а раздувалась нативная память: ~800 MB -> 3,4-3,6 GB. Виноваты несколько эффектов, которые в контейнерах усиливаются: JVM начала создавать намного больше потоков, OS стала выделять JVM гораздо больше, а дефолтный GC в JDK 17 добавил накладные расходы. Всё это из-за простого бага в JDK, который при миграции утащил за собой весь production.
https://habr.com/ru/companies/spring_aio/articles/1019086/
#jdk_17 #jdk #java #performance #gc #kot #memory #spring #spring_boot #spring_framework
-
[Перевод] Раздувание памяти JDK 17 в контейнерах: разбор инцидента
В новом переводе от команды Spring АйО разберем тему раздувания памяти в JDK 17. Апгрейд микросервисов с JDK 8 на JDK 17 прошел dev и QA спокойно, но в проде через 2-3 часа все начало падать. Утилизация памяти выросла в 4 раза, контейнеры стали ловить OOMKill и перезапускаться, Uptime SLA просел, массовый инцидент. Раньше JVM использовала около 50% памяти контейнера и обслуживала ~400 потоков. После релиза стало 95-100% и 1600+ соответственно. При этом heap выглядел нормально, около Xmx, а раздувалась нативная память: ~800 MB -> 3,4-3,6 GB. Виноваты несколько эффектов, которые в контейнерах усиливаются: JVM начала создавать намного больше потоков, OS стала выделять JVM гораздо больше, а дефолтный GC в JDK 17 добавил накладные расходы. Всё это из-за простого бага в JDK, который при миграции утащил за собой весь production.
https://habr.com/ru/companies/spring_aio/articles/1019086/
#jdk_17 #jdk #java #performance #gc #kot #memory #spring #spring_boot #spring_framework
-
[Перевод] Раздувание памяти JDK 17 в контейнерах: разбор инцидента
В новом переводе от команды Spring АйО разберем тему раздувания памяти в JDK 17. Апгрейд микросервисов с JDK 8 на JDK 17 прошел dev и QA спокойно, но в проде через 2-3 часа все начало падать. Утилизация памяти выросла в 4 раза, контейнеры стали ловить OOMKill и перезапускаться, Uptime SLA просел, массовый инцидент. Раньше JVM использовала около 50% памяти контейнера и обслуживала ~400 потоков. После релиза стало 95-100% и 1600+ соответственно. При этом heap выглядел нормально, около Xmx, а раздувалась нативная память: ~800 MB -> 3,4-3,6 GB. Виноваты несколько эффектов, которые в контейнерах усиливаются: JVM начала создавать намного больше потоков, OS стала выделять JVM гораздо больше, а дефолтный GC в JDK 17 добавил накладные расходы. Всё это из-за простого бага в JDK, который при миграции утащил за собой весь production.
https://habr.com/ru/companies/spring_aio/articles/1019086/
#jdk_17 #jdk #java #performance #gc #kot #memory #spring #spring_boot #spring_framework
-
For the umpteenth 😩 time I have to implement
@FunctionalInterface
public interface ThrowingFunction<IN, OUT, EX extends Exception> {
public OUT apply(IN in) throws EX;
}because the JDK decided that the functional interfaces provided don't provide explainers (aka Exception).