TGViewer
Чашечка Java Чашечка Java @a_cup_of_java · 8.4K subscribers
Post #8623 678
Как извлекать поля из XML в Java без дерева объектов

DOM и JAXB создают объекты для всего документа, даже если нужно несколько значений. Fletch для Java 17+ идёт по исходным байтам и создаёт только запрошенные строки, числа и записи: без дерева, рефлексии и промежуточных событий. Сопоставление путей читает UTF-8-поток через скользящее окно 64 КБ, поэтому обрабатывает набор документов больше доступной памяти.

В JMH на Temurin/JDK 25 Fletch показал 283,7 операции/мс против 96,4 у ручного цикла Woodstox на XML с одной позицией. Это бенчмарк проекта, поэтому перед миграцией его стоит повторить на своих документах.

Fletch подходит для массового чтения полей, но не поддерживает запись XML, XPath, XSLT и валидацию схем. Код, два API и команды запуска тестов есть в материале DEV Community.
More from @a_cup_of_java
  1. Sep 20, 2026Docker Compose с JDK 26: зависимости в контейнерах, Java локально В примере Maven-приложен…
  2. Sep 20, 2026Как перевести Dev Services на новый API Quarkus 3.25 В Quarkus 3.25 появился новый API для…
  3. Sep 20, 2026Hibernate 7: как заменить устаревший @GenericGenerator При миграции на Hibernate 7 аннотац…
  4. Sep 19, 2026Как собрать движок отказоустойчивых сценариев на Java и SQLite Persistasaurus показывает у…
  5. Sep 19, 2026Как построить многоуровневую защиту LLM-вызовов в Spring AI 2.0 В Spring Boot 4.1 защиту в…
  6. Sep 19, 2026В JDK 27 и 28 ускорили операции Curve25519 С JDK 27 build 14 изменения внутренних структур…
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 →