#jvm — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #jvm, aggregated by home.social.
-
TypedMemory is a new, experimental Java library that provides type-safe, structured access to contiguous off-heap memory via Java's new Foreign Function & Memory (FFM) API.
To explore this game changer for data processing in Java, we recommend browsing its API docs on APIdia:
https://apidia.net/mvn/io.github.mambastudio/typedmemoryCredits to Joe Mwangi @joemwangi / Mamba Studio for creating this lib!
Github: https://github.com/mamba-studio/TypedMemory -
TypedMemory is a new, experimental Java library that provides type-safe, structured access to contiguous off-heap memory via Java's new Foreign Function & Memory (FFM) API.
To explore this game changer for data processing in Java, we recommend browsing its API docs on APIdia:
https://apidia.net/mvn/io.github.mambastudio/typedmemoryCredits to Joe Mwangi @joemwangi / Mamba Studio for creating this lib!
Github: https://github.com/mamba-studio/TypedMemory -
TypedMemory is a new, experimental Java library that provides type-safe, structured access to contiguous off-heap memory via Java's new Foreign Function & Memory (FFM) API.
To explore this game changer for data processing in Java, we recommend browsing its API docs on APIdia:
https://apidia.net/mvn/io.github.mambastudio/typedmemoryCredits to Joe Mwangi @joemwangi / Mamba Studio for creating this lib!
Github: https://github.com/mamba-studio/TypedMemory -
TypedMemory is a new, experimental Java library that provides type-safe, structured access to contiguous off-heap memory via Java's new Foreign Function & Memory (FFM) API.
To explore this game changer for data processing in Java, we recommend browsing its API docs on APIdia:
https://apidia.net/mvn/io.github.mambastudio/typedmemoryCredits to Joe Mwangi @joemwangi / Mamba Studio for creating this lib!
Github: https://github.com/mamba-studio/TypedMemory -
Wednesday Links - Edition 2026-05-13
https://dev.to/0xkkocel/wednesday-links-edition-2026-05-13-554g
#java #jvm #tdd #kotlin -
Wednesday Links - Edition 2026-05-13
https://dev.to/0xkkocel/wednesday-links-edition-2026-05-13-554g
#java #jvm #tdd #kotlin -
Wednesday Links - Edition 2026-05-13
https://dev.to/0xkkocel/wednesday-links-edition-2026-05-13-554g
#java #jvm #tdd #kotlin -
Wednesday Links - Edition 2026-05-13
https://dev.to/0xkkocel/wednesday-links-edition-2026-05-13-554g
#java #jvm #tdd #kotlin -
Ever wasted more time configuring Maven than writing the script itself? Haoyi Li shows how Mill simplifies #Java, #Kotlin & #Scala projects with lightweight configs & runnable single-file scripts — helping you prototype & ship JVM tools faster.
Read: https://javapro.io/2026/05/13/simpler-jvm-project-setup-with-mill/
#JVM -
Ever wasted more time configuring Maven than writing the script itself? Haoyi Li shows how Mill simplifies #Java, #Kotlin & #Scala projects with lightweight configs & runnable single-file scripts — helping you prototype & ship JVM tools faster.
Read: https://javapro.io/2026/05/13/simpler-jvm-project-setup-with-mill/
#JVM -
Ever wasted more time configuring Maven than writing the script itself? Haoyi Li shows how Mill simplifies #Java, #Kotlin & #Scala projects with lightweight configs & runnable single-file scripts — helping you prototype & ship JVM tools faster.
Read: https://javapro.io/2026/05/13/simpler-jvm-project-setup-with-mill/
#JVM -
JVM Quarkus builds have been carrying dead dependency bytecode for years, and 3.35 finally gives us a packaging-time knife.
I put together a small Helios demo that measures fast-jar before and after tree shaking, reads the JarTreeShaker output, and shows where excluded-artifacts enters the story.
-
JVM Quarkus builds have been carrying dead dependency bytecode for years, and 3.35 finally gives us a packaging-time knife.
I put together a small Helios demo that measures fast-jar before and after tree shaking, reads the JarTreeShaker output, and shows where excluded-artifacts enters the story.
-
JVM Quarkus builds have been carrying dead dependency bytecode for years, and 3.35 finally gives us a packaging-time knife.
I put together a small Helios demo that measures fast-jar before and after tree shaking, reads the JarTreeShaker output, and shows where excluded-artifacts enters the story.
-
JVM Quarkus builds have been carrying dead dependency bytecode for years, and 3.35 finally gives us a packaging-time knife.
I put together a small Helios demo that measures fast-jar before and after tree shaking, reads the JarTreeShaker output, and shows where excluded-artifacts enters the story.
-
Nichts „kaputt“ – aber plötzlich ist alles langsam? @ReneSchwietzke zerlegt die 1BRC und zeigt, wo die Zeit wirklich hingeht: split(), parseDouble(), GC-Churn, I/O.
Lies es, um Bottlenecks systematisch zu finden & zu fixen: https://javapro.io/de/1brc-die-ersten-80-performance/ -
Nichts „kaputt“ – aber plötzlich ist alles langsam? @ReneSchwietzke zerlegt die 1BRC und zeigt, wo die Zeit wirklich hingeht: split(), parseDouble(), GC-Churn, I/O.
Lies es, um Bottlenecks systematisch zu finden & zu fixen: https://javapro.io/de/1brc-die-ersten-80-performance/ -
Сравнение моделей конкурентности JVM языков: Треды, Пулы и Structured Concurrency
Вы пробовали что-нибудь кроме new Thread() ? Конечно пробовали: Future ! И всё ?! Разберемся с разными моделями конкурентности в Java, Kotlin, Scala/ZIO и Clojure: у всех JVM под капотом, но подходы разные. Начнём с разбора тредов, пулов, virtual threads из Project Loom и Structured Concurrency. Дальше: корутины, fibers, ZIO runtime и Clojure. Узнать что есть кроме Java Threads
https://habr.com/ru/articles/1033894/
#Java #JVM #многопоточность #Thread #Thread_Pool #ExecutorService #Virtual_Threads #Project_Loom #Structured_Concurrency #Blocking_IO
-
Сравнение моделей конкурентности JVM языков: Треды, Пулы и Structured Concurrency
Вы пробовали что-нибудь кроме new Thread() ? Конечно пробовали: Future ! И всё ?! Разберемся с разными моделями конкурентности в Java, Kotlin, Scala/ZIO и Clojure: у всех JVM под капотом, но подходы разные. Начнём с разбора тредов, пулов, virtual threads из Project Loom и Structured Concurrency. Дальше: корутины, fibers, ZIO runtime и Clojure. Узнать что есть кроме Java Threads
https://habr.com/ru/articles/1033894/
#Java #JVM #многопоточность #Thread #Thread_Pool #ExecutorService #Virtual_Threads #Project_Loom #Structured_Concurrency #Blocking_IO
-
Сравнение моделей конкурентности JVM языков: Треды, Пулы и Structured Concurrency
Вы пробовали что-нибудь кроме new Thread() ? Конечно пробовали: Future ! И всё ?! Разберемся с разными моделями конкурентности в Java, Kotlin, Scala/ZIO и Clojure: у всех JVM под капотом, но подходы разные. Начнём с разбора тредов, пулов, virtual threads из Project Loom и Structured Concurrency. Дальше: корутины, fibers, ZIO runtime и Clojure. Узнать что есть кроме Java Threads
https://habr.com/ru/articles/1033894/
#Java #JVM #многопоточность #Thread #Thread_Pool #ExecutorService #Virtual_Threads #Project_Loom #Structured_Concurrency #Blocking_IO
-
Vaadin, *the* go-to solution for Java-based web development, enables writing websites and web applications in 100% pure Java.
We're proud to announce that API documentation of Vaadin is now available on APIdia!
Check it out at https://apidia.net/mvn/com.vaadin/vaadinDocs resemble Javadoc but are more convenient to browse via frame-like side navigation for packages and classes.
They crosslink to almost all dependencies seamlessly. -
Vaadin, *the* go-to solution for Java-based web development, enables writing websites and web applications in 100% pure Java.
We're proud to announce that API documentation of Vaadin is now available on APIdia!
Check it out at https://apidia.net/mvn/com.vaadin/vaadinDocs resemble Javadoc but are more convenient to browse via frame-like side navigation for packages and classes.
They crosslink to almost all dependencies seamlessly. -
#Kotlin & #Java don’t have to compete. Kotlin was built for #JVM #Interop from day one — sharing libraries, collections, even mixed-language codebases.
Richard Gross shows how top-level functions, data classes & immutability map cleanly to Java bytecode: https://javapro.io/2026/05/07/kotlin-kontra-java-part-3-language-for-interop/
-
#Kotlin & #Java don’t have to compete. Kotlin was built for #JVM #Interop from day one — sharing libraries, collections, even mixed-language codebases.
Richard Gross shows how top-level functions, data classes & immutability map cleanly to Java bytecode: https://javapro.io/2026/05/07/kotlin-kontra-java-part-3-language-for-interop/
-
“Can I block here?” With #Java26, the answer is increasingly yes. #VirtualThreads & #StructuredConcurrency reduce the need for callback-heavy code & oversized thread pools.
Damiana Nascimento explains what modern #JVM-first design looks like: https://javapro.io/2026/05/06/java-26-in-practice-how-the-jvm-is-changing-the-way-we-write-code/
-
“Can I block here?” With #Java26, the answer is increasingly yes. #VirtualThreads & #StructuredConcurrency reduce the need for callback-heavy code & oversized thread pools.
Damiana Nascimento explains what modern #JVM-first design looks like: https://javapro.io/2026/05/06/java-26-in-practice-how-the-jvm-is-changing-the-way-we-write-code/
-
Should new #JVM projects choose #Java or #Kotlin? Maybe both. Kotlin was built for deep Java interop — mixed codebases, shared libraries, gradual migration included. Even collections & bytecode stay compatible. Richard Gross explains how it works: https://javapro.io/2026/05/07/kotlin-kontra-java-part-3-language-for-interop/
#Interop -
Should new #JVM projects choose #Java or #Kotlin? Maybe both. Kotlin was built for deep Java interop — mixed codebases, shared libraries, gradual migration included. Even collections & bytecode stay compatible. Richard Gross explains how it works: https://javapro.io/2026/05/07/kotlin-kontra-java-part-3-language-for-interop/
#Interop -
Proven Solution For Java Heap Space Error
Facing JVM crashes, memory leaks, or GC overhead issues? Learn how to diagnose heap dumps, optimize JVM memory, and permanently fix Java heap space errors.
#Java #JVM #OutOfMemoryError #JavaDeveloper #Programming #MemoryLeak
https://www.izoate.com/blog/java-heap-space-error-solution-how-to-fix-java-lang-outofmemoryerror/
-
Ever shipped an API and regretted your generic signatures later? Wildcards everywhere. Confusing bounds. Mental overhead. Michel Charpentier breaks down why variance matters—and why #Java still feels heavy here.
Read + apply: https://javapro.io/2026/01/27/what-i-still-miss-my-most-wanted-java-features/
-
Ever shipped an API and regretted your generic signatures later? Wildcards everywhere. Confusing bounds. Mental overhead. Michel Charpentier breaks down why variance matters—and why #Java still feels heavy here.
Read + apply: https://javapro.io/2026/01/27/what-i-still-miss-my-most-wanted-java-features/
-
Ever shipped an API and regretted your generic signatures later? Wildcards everywhere. Confusing bounds. Mental overhead. Michel Charpentier breaks down why variance matters—and why #Java still feels heavy here.
Read + apply: https://javapro.io/2026/01/27/what-i-still-miss-my-most-wanted-java-features/
-
Анализируем heap-дампы с прода, не привлекая внимания безопасников
Heap-дампы JVM – бесценный источник информации при разборе аварий с OutOfMemory и оптимизации производительности. Но вместе с тем они же – потенциальные каналы утечки данных, ведь будучи снятыми с боевого сервиса, дампы уносят в себе всё, с чем работал сервис на момент снимка: логины, пароли (иногда в открытом виде), важные ID и т.п. – словом, всяческие sensitive данные, которые не нужны для анализа, но могут навлечь на получателя дампа серьёзную ответственность и риски. Как этого избежать без ущерба делу – разбираемся под катом.
-
Анализируем heap-дампы с прода, не привлекая внимания безопасников
Heap-дампы JVM – бесценный источник информации при разборе аварий с OutOfMemory и оптимизации производительности. Но вместе с тем они же – потенциальные каналы утечки данных, ведь будучи снятыми с боевого сервиса, дампы уносят в себе всё, с чем работал сервис на момент снимка: логины, пароли (иногда в открытом виде), важные ID и т.п. – словом, всяческие sensitive данные, которые не нужны для анализа, но могут навлечь на получателя дампа серьёзную ответственность и риски. Как этого избежать без ущерба делу – разбираемся под катом.
-
Анализируем heap-дампы с прода, не привлекая внимания безопасников
Heap-дампы JVM – бесценный источник информации при разборе аварий с OutOfMemory и оптимизации производительности. Но вместе с тем они же – потенциальные каналы утечки данных, ведь будучи снятыми с боевого сервиса, дампы уносят в себе всё, с чем работал сервис на момент снимка: логины, пароли (иногда в открытом виде), важные ID и т.п. – словом, всяческие sensitive данные, которые не нужны для анализа, но могут навлечь на получателя дампа серьёзную ответственность и риски. Как этого избежать без ущерба делу – разбираемся под катом.
-
Анализируем heap-дампы с прода, не привлекая внимания безопасников
Heap-дампы JVM – бесценный источник информации при разборе аварий с OutOfMemory и оптимизации производительности. Но вместе с тем они же – потенциальные каналы утечки данных, ведь будучи снятыми с боевого сервиса, дампы уносят в себе всё, с чем работал сервис на момент снимка: логины, пароли (иногда в открытом виде), важные ID и т.п. – словом, всяческие sensitive данные, которые не нужны для анализа, но могут навлечь на получателя дампа серьёзную ответственность и риски. Как этого избежать без ущерба делу – разбираемся под катом.
-
#Java developers spent years tuning pools, GC & startup behavior manually. With #Java26, the #JVM increasingly handles concurrency, warm-up and optimization itself.
Damiana Nascimento explains what developers should adopt — and avoid: https://javapro.io/2026/05/06/java-26-in-practice-how-the-jvm-is-changing-the-way-we-write-code/
-
#Java developers spent years tuning pools, GC & startup behavior manually. With #Java26, the #JVM increasingly handles concurrency, warm-up and optimization itself.
Damiana Nascimento explains what developers should adopt — and avoid: https://javapro.io/2026/05/06/java-26-in-practice-how-the-jvm-is-changing-the-way-we-write-code/
-
#Java developers spent years tuning pools, GC & startup behavior manually. With #Java26, the #JVM increasingly handles concurrency, warm-up and optimization itself.
Damiana Nascimento explains what developers should adopt — and avoid: https://javapro.io/2026/05/06/java-26-in-practice-how-the-jvm-is-changing-the-way-we-write-code/
-
Оптимизируем JDBC connection pool HikariCP. Прод, ресурсы и типовые ошибки
Продолжаем разбирать HikariCP: как выбирать размер пула, что учитывать в Kubernetes и при нескольких сервисах, почему большой maximumPoolSize не всегда помогает, какие настройки стоит пересмотреть перед продом и какие ошибки чаще всего приводят к проблемам с базой.
https://habr.com/ru/articles/1031770/
#HikariCP #JDBC #connection_pool #PostgreSQL #Spring_Boot #JVM #Java #Scala #Kubernetes #пул_соединений
-
Оптимизируем JDBC connection pool HikariCP. Прод, ресурсы и типовые ошибки
Продолжаем разбирать HikariCP: как выбирать размер пула, что учитывать в Kubernetes и при нескольких сервисах, почему большой maximumPoolSize не всегда помогает, какие настройки стоит пересмотреть перед продом и какие ошибки чаще всего приводят к проблемам с базой.
https://habr.com/ru/articles/1031770/
#HikariCP #JDBC #connection_pool #PostgreSQL #Spring_Boot #JVM #Java #Scala #Kubernetes #пул_соединений
-
Оптимизируем JDBC connection pool HikariCP. Прод, ресурсы и типовые ошибки
Продолжаем разбирать HikariCP: как выбирать размер пула, что учитывать в Kubernetes и при нескольких сервисах, почему большой maximumPoolSize не всегда помогает, какие настройки стоит пересмотреть перед продом и какие ошибки чаще всего приводят к проблемам с базой.
https://habr.com/ru/articles/1031770/
#HikariCP #JDBC #connection_pool #PostgreSQL #Spring_Boot #JVM #Java #Scala #Kubernetes #пул_соединений
-
Конкатенация строк в Java: почему советы 2008 года всё ещё работают — и почему этого уже недостаточно
Вы наверняка видели такой код - for (String s : data) { result += s; } сотни раз. Что с ним не так? Ведь он выглядит безобидно, почти идиоматично. Но в продакшене под нагрузкой этот цикл способен генерировать сотни мегабайт мусора в секунду - даже если сам результат никому не нужен. И казалось бы, проблема конкатенации строк в Java давно решена. Джунам говорят: используй StringBuilder и будет тебе щастье. А статьи десятилетней давности сравнивают + и append() в бенчмарках и ставят точку. В сегодняшней статье я копнул немного глубже и оказалось, что реальность сложнее. Вред не исчез - он принял новые, менее очевидные формы. Заглянуть
https://habr.com/ru/articles/1031336/
#конкатенация_строк #stringbuilder #invokedynamic #stringconcatfactory #escape_analysis #аллокации_памяти #сборщик_мусора_gc #String_Templates #java #jvm
-
Конкатенация строк в Java: почему советы 2008 года всё ещё работают — и почему этого уже недостаточно
Вы наверняка видели такой код - for (String s : data) { result += s; } сотни раз. Что с ним не так? Ведь он выглядит безобидно, почти идиоматично. Но в продакшене под нагрузкой этот цикл способен генерировать сотни мегабайт мусора в секунду - даже если сам результат никому не нужен. И казалось бы, проблема конкатенации строк в Java давно решена. Джунам говорят: используй StringBuilder и будет тебе щастье. А статьи десятилетней давности сравнивают + и append() в бенчмарках и ставят точку. В сегодняшней статье я копнул немного глубже и оказалось, что реальность сложнее. Вред не исчез - он принял новые, менее очевидные формы. Заглянуть
https://habr.com/ru/articles/1031336/
#конкатенация_строк #stringbuilder #invokedynamic #stringconcatfactory #escape_analysis #аллокации_памяти #сборщик_мусора_gc #String_Templates #java #jvm
-
Конкатенация строк в Java: почему советы 2008 года всё ещё работают — и почему этого уже недостаточно
Вы наверняка видели такой код - for (String s : data) { result += s; } сотни раз. Что с ним не так? Ведь он выглядит безобидно, почти идиоматично. Но в продакшене под нагрузкой этот цикл способен генерировать сотни мегабайт мусора в секунду - даже если сам результат никому не нужен. И казалось бы, проблема конкатенации строк в Java давно решена. Джунам говорят: используй StringBuilder и будет тебе щастье. А статьи десятилетней давности сравнивают + и append() в бенчмарках и ставят точку. В сегодняшней статье я копнул немного глубже и оказалось, что реальность сложнее. Вред не исчез - он принял новые, менее очевидные формы. Заглянуть
https://habr.com/ru/articles/1031336/
#конкатенация_строк #stringbuilder #invokedynamic #stringconcatfactory #escape_analysis #аллокации_памяти #сборщик_мусора_gc #String_Templates #java #jvm
-
I released Marga, a small HTTP router for #Java 21. 🚀
My goal: Keep server-side routing simple and dependency-free while still supporting modern JVM features.
-
I released Marga, a small HTTP router for #Java 21. 🚀
My goal: Keep server-side routing simple and dependency-free while still supporting modern JVM features.