#jdk — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #jdk, aggregated by home.social.
-
Java Digest #35
Всем привет! 👋👋👋👋👋 Мы — Java-разработчики Т-Банка: Андрей , Арсений , Роман , Константин и Константин. Собираем интересные новости, статьи, туториалы и другие материалы из мира Java-разработки и делимся этим со всем сообществом. В этом выпуске рассказываем, когда ждать релиз Java 27 и как Oracle планирует регулировать использование генеративного ИИ при написании кода. Посмотрим детальное интервью о Spring Framework 7 и Spring Boot 4 с самой командой создателей Spring. Почитаем, как безопасно работать с нативной памятью в многопоточной среде с помощью VarHandle. А еще изучим любопытный постмортем, посвященный расследованию раздувания памяти в контейнерах после перехода на JDK 17. Приятного чтения! Читать 35 выпуск
-
Common: Commonly usable classes without dependencies
-
Advanced performance analysis with async-profiler by Andrei Pangin
-
Thread Safe Native Memory in Java
-
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/
-
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).
-
Ever wonder what your #JVM really sees? Most #Java devs ship code every day without knowing what the bytecode actually looks like — or how the #JDK tools interpret it.
Mahendra Rao breaks it down with javap & reveals what happens behind the curtain.Read: https://javapro.io/2025/11/27/behind-the-bytecode-exploring-java-features-with-javap-tool/
-
Still converting PEM files into Java keystores just to make Java happy? #JDK 25 finally changes that. Sebastian Hempel explains how JEP 470 lets #Java work with PEM keys directly.
Cut the glue code and simplify key handling: https://javapro.io/2026/02/17/pem-files-as-an-alternative-to-keystores/
-
Oracle、「Java 26」を発表 ~起動速度の改善やHTTP/3対応などを盛り込む/4つのプレビューと1つのインキュベーターを含む、10のJEPが実装
https://forest.watch.impress.co.jp/docs/news/2094256.html -
Declarative pipelines. Lazy evaluation. Batched #Gatherers. #JavaStreams evolved into a flexible data processing framework. Mihaela Gheorghe-Roman offers a practical timeline from #Java 8 to 24—plus common pitfalls to avoid: https://javapro.io/2025/11/13/java-streams-evolution-from-java-8-to-today/
-
-
Java 26 Arrives With AI Integration and a New Ecosystem Portfolio — What It Means for DevOps Teams
-
Java 26 Is Here: What Developers Actually Need to Know
https://coderlegion.com/12844/java-26-is-here-what-developers-actually-need-to-know
-
-
JDK 26 Security Enhancements: https://seanjmullan.org/blog/2026/03/16/jdk26
Highlights of this release include a second preview of the PEM API, API support for Hybrid Public Key Encryption, and signed JAR support for the post-quantum ML-DSA algorithm.
-
Java 26 is boring, and that's a good thing
https://mostlynerdless.de/blog/2026/03/17/java-26-is-boring-and-thats-a-good-thing/
-
Java 26 Is Here: What's New, What's Gone, and Why It Matters in 2026
-
What's New in Java 25: Key Changes From Java 21
https://mydeveloperplanet.com/2026/02/02/whats-new-in-java-25-key-changes-from-java-21/
-
Downgraded Java to JDK 1.1 After 30 Years… It Was a Disaster
-
Java Performance Update: From JDK 21 to JDK 25
-
Optimizing Recommendation Systems with JDK's Vector API
https://netflixtechblog.com/optimizing-recommendation-systems-with-jdks-vector-api-30d2830401ec
#HackerNews #OptimizingRecommendationSystems #VectorAPI #JDK #TechBlog #NetflixTech #RecommendationSystems
-
Установка 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
-
Wednesday Links - Edition 2026-02-25
https://dev.to/0xkkocel/wednesday-links-edition-2026-02-25-1lp0
#java #jvm #gc #heap #double #jdk #pid #estimating -
Wednesday Links - Edition 2026-02-25
https://dev.to/0xkkocel/wednesday-links-edition-2026-02-25-1lp0
#java #jvm #gc #heap #double #jdk #pid #estimating -
Wednesday Links - Edition 2026-02-25
https://dev.to/0xkkocel/wednesday-links-edition-2026-02-25-1lp0
#java #jvm #gc #heap #double #jdk #pid #estimating -
Wednesday Links - Edition 2026-02-25
https://dev.to/0xkkocel/wednesday-links-edition-2026-02-25-1lp0
#java #jvm #gc #heap #double #jdk #pid #estimating -
Kürzlich habe ich einen Artikel gelesen, in dem es um Fragen in einem Vorstellungsgespräch als Java-Entwickler ging. Es wurden einige Fragen vorgestellt und die These aufgestellt, dass die meisten Bewerber diese Fragen nicht beantworten können. Aus diesem Grund möchte ich ...
https://magicmarcy.de/java-interview-fragen-1-java-grundlagen
#Java-Interview #Grundlagen #JDK #JRE #abstrakte_Klasse #Interface #final #finally #finalise #stack #heap #private #protected #super #Garbage_Collector #GC
-
Kürzlich habe ich einen Artikel gelesen, in dem es um Fragen in einem Vorstellungsgespräch als Java-Entwickler ging. Es wurden einige Fragen vorgestellt und die These aufgestellt, dass die meisten Bewerber diese Fragen nicht beantworten können. Aus diesem Grund möchte ich ...
https://magicmarcy.de/java-interview-fragen-1-java-grundlagen
#Java-Interview #Grundlagen #JDK #JRE #abstrakte_Klasse #Interface #final #finally #finalise #stack #heap #private #protected #super #Garbage_Collector #GC
-
Kürzlich habe ich einen Artikel gelesen, in dem es um Fragen in einem Vorstellungsgespräch als Java-Entwickler ging. Es wurden einige Fragen vorgestellt und die These aufgestellt, dass die meisten Bewerber diese Fragen nicht beantworten können. Aus diesem Grund möchte ich ...
https://magicmarcy.de/java-interview-fragen-1-java-grundlagen
#Java-Interview #Grundlagen #JDK #JRE #abstrakte_Klasse #Interface #final #finally #finalise #stack #heap #private #protected #super #Garbage_Collector #GC
-
🚀 #ApproveJ v.1.1 was released
🦾 New automatic file reviewer
🎛️ Short aliases for in configuration
All configuration values can now also be overwritten via environment variables -
🚀 #ApproveJ v.1.1 was released
🦾 New automatic file reviewer
🎛️ Short aliases for in configuration
All configuration values can now also be overwritten via environment variables -
🚀 #ApproveJ v.1.1 was released
🦾 New automatic file reviewer
🎛️ Short aliases for in configuration
All configuration values can now also be overwritten via environment variables -
🚀 #ApproveJ v.1.1 was released
🦾 New automatic file reviewer
🎛️ Short aliases for in configuration
All configuration values can now also be overwritten via environment variables -
🚀 #ApproveJ v.1.1 was released
🦾 New automatic file reviewer
🎛️ Short aliases for in configuration
All configuration values can now also be overwritten via environment variables -
@magicmarcy
Ich hatte das letzte Mal vor 12 Jahren meine Finger zum Coden an der Tastatur.
Bei den ersten drei Fragen musste ich schmunzeln... und dann konnte ich nur noch eine einzige Frage beantworten... halbwegs.
Ich wusste bei allem noch was, aber hätte nicht mehr in die Details gehen können.Hach, waren das Zeiten! 🥲
#Java #Grundlagen #JDK #JRE #abstrakte_Klasse #Interface #final #finally #finalise #stack #heap #private #protected #super #Garbage_Collector #GC