Как извлекать поля из 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.
Post #8623
678
