TGViewer
Чашечка Java Чашечка Java @a_cup_of_java · 8.39K subscribers
Post #8088 990
Байткод инструментация методов в Java: когда семплирования уже мало

Семплирующие профили не показывают реальное число вызовов и их длительность — а значит, мимо может пролетать важная боль. В новом переводе от команды Spring АйО на примерах показано, как включить инструментальную трассировку в async-profiler и что даёт новая фича latency: от ловли неожиданного System.gc() и источников OutOfMemoryError до точного замера «долгих» вызовов с порогом и разбором в JMC через JFR-события.

Разбираем накладные расходы, хитрости вроде interval, практичные кейсы (почему ArrayList.contains и AbstractSet.removeAll могут внезапно стать O(N*M) и как это починить), а ещё сравниваем подход async-profiler с нововведениями в рамках JDK 25 (JEP 520), где последний имеет ряд недостатков.

Если вам нужны точные пути выполнения и реальная latency без убийства продакшена — это must-read.


Читать: https://habr.com/ru/companies/spring_aio/articles/952928/?utm_campaign=952928

@a_cup_of_java | Другие наши каналы
More from @a_cup_of_java
  1. Sep 22, 2026Как профилировать Java-приложения с JDK Flight Recorder JDK Flight Recorder (JFR) встроен…
  2. Sep 22, 2026Quarkus 3.31.2: как измерить покрытие runtime-модулей расширений До версии 3.31.2 расширен…
  3. Sep 22, 2026В Quarkus 3.37.0 появился новый вход к реляционным данным Экспериментальное расширение Qua…
  4. Sep 21, 2026Spring и Hibernate: как очищать тестовые данные без @DataJpaTest Hibernate ORM 6.2 добавил…
  5. Sep 21, 2026Как Hardwood ускоряет чтение фиксированных списков Parquet Parquet кодирует координаты и в…
  6. Sep 21, 2026Как сборщики мусора JDK связывают память и производительность JDK предлагает несколько сбо…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →