Один из альтернативных вариантов, в зависимости от того, что вы делаете с документом, может быть, чтобы перейти от Обработка на основе DOM для обработки на основе SAX (или другого управляемого событиями интерфейса последовательного интерфейса). Это позволило бы использовать модель внутренней памяти, которая была бы настроена на ваши потребности и, следовательно, более эффективна, чем общая DOM, и, возможно, вообще не создавать встроенную модель памяти, если вы можете сериализовать существующие модели данных или генерировать контент на лету ,
Процессор Xalan XSLT, например, использует SAX-анализатор для создания собственной модели данных, а не DOM (XSLT, в общем, требует произвольного доступа к содержимому документа, поэтому требуется некоторая модель в памяти), и, по возможности, производит выход непосредственно в сериализатор SAX.
Принимая во внимание то, что вы может создать модель данных, которая явно вставляет и обрабатывает часть документа в документе, а не рассчитывает на swapper операционной системы. Однако я не уверен, что это будет чистая победа.
DOM - замечательная вещь, заметьте (он говорит, как один из ее авторов), но, как инструмент общего назначения, это не идеальный ответ для всех задач.
BTW, при отладке Xalan на некоторых более сложных проблемах, которые я довольно часто устанавливал -Xmx
выше 1024 м. Будет ли Java позволять вам использовать более высокие значения, зависит от конфигурации JVM и вашей операционной системы, но я бы сказал, что стоит дважды проверить, можете ли вы немного подтолкнуть ее.
Вы используете Eclipse sir? – Sembrano
Я использую IntelliJ IDEA – mowienay
Как вы устанавливаете память jvm? – Keerthivasan