home.social

#jvm — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #jvm, aggregated by home.social.

  1. 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:
    apidia.net/mvn/io.github.mamba

    Credits to Joe Mwangi @joemwangi / Mamba Studio for creating this lib!
    Github: github.com/mamba-studio/TypedM

    #apidia #java #javadoc #jvm

  2. 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:
    apidia.net/mvn/io.github.mamba

    Credits to Joe Mwangi @joemwangi / Mamba Studio for creating this lib!
    Github: github.com/mamba-studio/TypedM

    #apidia #java #javadoc #jvm

  3. 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:
    apidia.net/mvn/io.github.mamba

    Credits to Joe Mwangi @joemwangi / Mamba Studio for creating this lib!
    Github: github.com/mamba-studio/TypedM

    #apidia #java #javadoc #jvm

  4. 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:
    apidia.net/mvn/io.github.mamba

    Credits to Joe Mwangi @joemwangi / Mamba Studio for creating this lib!
    Github: github.com/mamba-studio/TypedM

    #apidia #java #javadoc #jvm

  5. 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: javapro.io/2026/05/13/simpler-
    #JVM

  6. 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: javapro.io/2026/05/13/simpler-
    #JVM

  7. 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: javapro.io/2026/05/13/simpler-
    #JVM

  8. 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.

    the-main-thread.com/p/quarkus-

    #Java #Quarkus #JVM #Performance

  9. 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.

    the-main-thread.com/p/quarkus-

    #Java #Quarkus #JVM #Performance

  10. 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.

    the-main-thread.com/p/quarkus-

    #Java #Quarkus #JVM #Performance

  11. 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.

    the-main-thread.com/p/quarkus-

    #Java #Quarkus #JVM #Performance

  12. 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: javapro.io/de/1brc-die-ersten-

    #Java #Performance #JVM

  13. 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: javapro.io/de/1brc-die-ersten-

    #Java #Performance #JVM

  14. Сравнение моделей конкурентности JVM языков: Треды, Пулы и Structured Concurrency

    Вы пробовали что-нибудь кроме new Thread() ? Конечно пробовали: Future ! И всё ?! Разберемся с разными моделями конкурентности в Java, Kotlin, Scala/ZIO и Clojure: у всех JVM под капотом, но подходы разные. Начнём с разбора тредов, пулов, virtual threads из Project Loom и Structured Concurrency. Дальше: корутины, fibers, ZIO runtime и Clojure. Узнать что есть кроме Java Threads

    habr.com/ru/articles/1033894/

    #Java #JVM #многопоточность #Thread #Thread_Pool #ExecutorService #Virtual_Threads #Project_Loom #Structured_Concurrency #Blocking_IO

  15. Сравнение моделей конкурентности JVM языков: Треды, Пулы и Structured Concurrency

    Вы пробовали что-нибудь кроме new Thread() ? Конечно пробовали: Future ! И всё ?! Разберемся с разными моделями конкурентности в Java, Kotlin, Scala/ZIO и Clojure: у всех JVM под капотом, но подходы разные. Начнём с разбора тредов, пулов, virtual threads из Project Loom и Structured Concurrency. Дальше: корутины, fibers, ZIO runtime и Clojure. Узнать что есть кроме Java Threads

    habr.com/ru/articles/1033894/

    #Java #JVM #многопоточность #Thread #Thread_Pool #ExecutorService #Virtual_Threads #Project_Loom #Structured_Concurrency #Blocking_IO

  16. Сравнение моделей конкурентности JVM языков: Треды, Пулы и Structured Concurrency

    Вы пробовали что-нибудь кроме new Thread() ? Конечно пробовали: Future ! И всё ?! Разберемся с разными моделями конкурентности в Java, Kotlin, Scala/ZIO и Clojure: у всех JVM под капотом, но подходы разные. Начнём с разбора тредов, пулов, virtual threads из Project Loom и Structured Concurrency. Дальше: корутины, fibers, ZIO runtime и Clojure. Узнать что есть кроме Java Threads

    habr.com/ru/articles/1033894/

    #Java #JVM #многопоточность #Thread #Thread_Pool #ExecutorService #Virtual_Threads #Project_Loom #Structured_Concurrency #Blocking_IO

  17. 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 apidia.net/mvn/com.vaadin/vaad

    Docs 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 #apidia #java #javadoc #jvm

  18. 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 apidia.net/mvn/com.vaadin/vaad

    Docs 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 #apidia #java #javadoc #jvm

  19. #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: javapro.io/2026/05/07/kotlin-k

  20. #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: javapro.io/2026/05/07/kotlin-k

  21. “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: javapro.io/2026/05/06/java-26-

    @openjdk

  22. “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: javapro.io/2026/05/06/java-26-

    @openjdk

  23. 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: javapro.io/2026/05/07/kotlin-k
    #Interop

  24. 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: javapro.io/2026/05/07/kotlin-k
    #Interop

  25. 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

    izoate.com/blog/java-heap-spac

  26. 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: javapro.io/2026/01/27/what-i-s

    #APIDesign #Generics #JVM

  27. 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: javapro.io/2026/01/27/what-i-s

    #APIDesign #Generics #JVM

  28. 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: javapro.io/2026/01/27/what-i-s

    #APIDesign #Generics #JVM

  29. Анализируем heap-дампы с прода, не привлекая внимания безопасников

    Heap-дампы JVM – бесценный источник информации при разборе аварий с OutOfMemory и оптимизации производительности. Но вместе с тем они же – потенциальные каналы утечки данных, ведь будучи снятыми с боевого сервиса, дампы уносят в себе всё, с чем работал сервис на момент снимка: логины, пароли (иногда в открытом виде), важные ID и т.п. – словом, всяческие sensitive данные, которые не нужны для анализа, но могут навлечь на получателя дампа серьёзную ответственность и риски. Как этого избежать без ущерба делу – разбираемся под катом.

    habr.com/ru/companies/spring_a

    #jvm #heap #performance #security #leak

  30. Анализируем heap-дампы с прода, не привлекая внимания безопасников

    Heap-дампы JVM – бесценный источник информации при разборе аварий с OutOfMemory и оптимизации производительности. Но вместе с тем они же – потенциальные каналы утечки данных, ведь будучи снятыми с боевого сервиса, дампы уносят в себе всё, с чем работал сервис на момент снимка: логины, пароли (иногда в открытом виде), важные ID и т.п. – словом, всяческие sensitive данные, которые не нужны для анализа, но могут навлечь на получателя дампа серьёзную ответственность и риски. Как этого избежать без ущерба делу – разбираемся под катом.

    habr.com/ru/companies/spring_a

    #jvm #heap #performance #security #leak

  31. Анализируем heap-дампы с прода, не привлекая внимания безопасников

    Heap-дампы JVM – бесценный источник информации при разборе аварий с OutOfMemory и оптимизации производительности. Но вместе с тем они же – потенциальные каналы утечки данных, ведь будучи снятыми с боевого сервиса, дампы уносят в себе всё, с чем работал сервис на момент снимка: логины, пароли (иногда в открытом виде), важные ID и т.п. – словом, всяческие sensitive данные, которые не нужны для анализа, но могут навлечь на получателя дампа серьёзную ответственность и риски. Как этого избежать без ущерба делу – разбираемся под катом.

    habr.com/ru/companies/spring_a

    #jvm #heap #performance #security #leak

  32. Анализируем heap-дампы с прода, не привлекая внимания безопасников

    Heap-дампы JVM – бесценный источник информации при разборе аварий с OutOfMemory и оптимизации производительности. Но вместе с тем они же – потенциальные каналы утечки данных, ведь будучи снятыми с боевого сервиса, дампы уносят в себе всё, с чем работал сервис на момент снимка: логины, пароли (иногда в открытом виде), важные ID и т.п. – словом, всяческие sensitive данные, которые не нужны для анализа, но могут навлечь на получателя дампа серьёзную ответственность и риски. Как этого избежать без ущерба делу – разбираемся под катом.

    habr.com/ru/companies/spring_a

    #jvm #heap #performance #security #leak

  33. #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: javapro.io/2026/05/06/java-26-

  34. #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: javapro.io/2026/05/06/java-26-

  35. #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: javapro.io/2026/05/06/java-26-

  36. Оптимизируем JDBC connection pool HikariCP. Прод, ресурсы и типовые ошибки

    Продолжаем разбирать HikariCP: как выбирать размер пула, что учитывать в Kubernetes и при нескольких сервисах, почему большой maximumPoolSize не всегда помогает, какие настройки стоит пересмотреть перед продом и какие ошибки чаще всего приводят к проблемам с базой.

    habr.com/ru/articles/1031770/

    #HikariCP #JDBC #connection_pool #PostgreSQL #Spring_Boot #JVM #Java #Scala #Kubernetes #пул_соединений

  37. Оптимизируем JDBC connection pool HikariCP. Прод, ресурсы и типовые ошибки

    Продолжаем разбирать HikariCP: как выбирать размер пула, что учитывать в Kubernetes и при нескольких сервисах, почему большой maximumPoolSize не всегда помогает, какие настройки стоит пересмотреть перед продом и какие ошибки чаще всего приводят к проблемам с базой.

    habr.com/ru/articles/1031770/

    #HikariCP #JDBC #connection_pool #PostgreSQL #Spring_Boot #JVM #Java #Scala #Kubernetes #пул_соединений

  38. Оптимизируем JDBC connection pool HikariCP. Прод, ресурсы и типовые ошибки

    Продолжаем разбирать HikariCP: как выбирать размер пула, что учитывать в Kubernetes и при нескольких сервисах, почему большой maximumPoolSize не всегда помогает, какие настройки стоит пересмотреть перед продом и какие ошибки чаще всего приводят к проблемам с базой.

    habr.com/ru/articles/1031770/

    #HikariCP #JDBC #connection_pool #PostgreSQL #Spring_Boot #JVM #Java #Scala #Kubernetes #пул_соединений

  39. Конкатенация строк в Java: почему советы 2008 года всё ещё работают — и почему этого уже недостаточно

    Вы наверняка видели такой код - for (String s : data) { result += s; } сотни раз. Что с ним не так? Ведь он выглядит безобидно, почти идиоматично. Но в продакшене под нагрузкой этот цикл способен генерировать сотни мегабайт мусора в секунду - даже если сам результат никому не нужен. И казалось бы, проблема конкатенации строк в Java давно решена. Джунам говорят: используй StringBuilder и будет тебе щастье. А статьи десятилетней давности сравнивают + и append() в бенчмарках и ставят точку. В сегодняшней статье я копнул немного глубже и оказалось, что реальность сложнее. Вред не исчез - он принял новые, менее очевидные формы. Заглянуть

    habr.com/ru/articles/1031336/

    #конкатенация_строк #stringbuilder #invokedynamic #stringconcatfactory #escape_analysis #аллокации_памяти #сборщик_мусора_gc #String_Templates #java #jvm

  40. Конкатенация строк в Java: почему советы 2008 года всё ещё работают — и почему этого уже недостаточно

    Вы наверняка видели такой код - for (String s : data) { result += s; } сотни раз. Что с ним не так? Ведь он выглядит безобидно, почти идиоматично. Но в продакшене под нагрузкой этот цикл способен генерировать сотни мегабайт мусора в секунду - даже если сам результат никому не нужен. И казалось бы, проблема конкатенации строк в Java давно решена. Джунам говорят: используй StringBuilder и будет тебе щастье. А статьи десятилетней давности сравнивают + и append() в бенчмарках и ставят точку. В сегодняшней статье я копнул немного глубже и оказалось, что реальность сложнее. Вред не исчез - он принял новые, менее очевидные формы. Заглянуть

    habr.com/ru/articles/1031336/

    #конкатенация_строк #stringbuilder #invokedynamic #stringconcatfactory #escape_analysis #аллокации_памяти #сборщик_мусора_gc #String_Templates #java #jvm

  41. Конкатенация строк в Java: почему советы 2008 года всё ещё работают — и почему этого уже недостаточно

    Вы наверняка видели такой код - for (String s : data) { result += s; } сотни раз. Что с ним не так? Ведь он выглядит безобидно, почти идиоматично. Но в продакшене под нагрузкой этот цикл способен генерировать сотни мегабайт мусора в секунду - даже если сам результат никому не нужен. И казалось бы, проблема конкатенации строк в Java давно решена. Джунам говорят: используй StringBuilder и будет тебе щастье. А статьи десятилетней давности сравнивают + и append() в бенчмарках и ставят точку. В сегодняшней статье я копнул немного глубже и оказалось, что реальность сложнее. Вред не исчез - он принял новые, менее очевидные формы. Заглянуть

    habr.com/ru/articles/1031336/

    #конкатенация_строк #stringbuilder #invokedynamic #stringconcatfactory #escape_analysis #аллокации_памяти #сборщик_мусора_gc #String_Templates #java #jvm

  42. 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.

    #Java #Backend #JVM #OpenSource

  43. 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.

    #Java #Backend #JVM #OpenSource