Сразу два недавних текста расписывают в подробностях новые средства работы с информацией из стек-трейсов, появляющиеся в нашей жизни с Java 9.
Вкратце суть нововведений в том, что содержимое стек-трейсов и раньше можно было использовать с помощью Throwable::getStackTrace и Thread::getStackTrace, но у этого был ряд ограничений, и ощущалась потребность в более эффективном решении. И теперь оно появляется в виде Stack-Walking API (JEP 259).
Об этом ещё в январе писали в блоке Takipi, но там был короткий текст почти без примеров кода, в основном обыгрывающий то, что название класса StackWalker звучит похоже на «Скайуокер». При этом там даже не догадались пошутить, что с джавовским маскотом Duke получается Дюк Стэкуокер!
А теперь два известных ресурса подряд написали об этом подробнее:
- На сайте Baeldung вышел текст “Introduction to Java 9 StackWalking API” — в его случае главную часть составляют примеры кода.
- А на SitePoint — текст “Deep Dive into Java 9’s Stack-Walking API”, и это действительно уже не просто introduction, а более глубокое погружение: там и теорическая часть, и код, и даже результаты бенчмарков.
В общем, не всё то модули, что Java 9: тут вот вообще малозамеченный JEP, и по тому тексты на 15 000 знаков пишут!