Вы можете увеличить предел памяти JVM, сказав:
java -Xmx512m ...
или
java -Xmx1024m ...
или любой другой размер, который вам нужен.
Обратите внимание, что вам может потребоваться пересмотреть ваш алгоритм, например, чтобы сериализовать XML напрямую в OutputStream, а не сначала создавать огромную структуру памяти, а затем сериализовать , что , в OutputStream. (Все зависит от деталей того, что делает код.)
В начале этого года у меня был похожий случай, когда я генерировал XML в StringBuffer, а затем записывал StringBuffer в HTTP-ответ OutputStream. Это работало нормально, пока кто-то не попросил 200 МБ XML! Я быстро изменил код для генерации XML непосредственно в OutputStream, сэкономив не только память, но и процессор.