Мне сказали, что в Саксоне есть какой-то жесткий предел, который предотвращает использование более X G ОЗУ. Я знал, что есть проблемы с распределением более 2G на основе 32-битного и 64-битного Java, но вы хотите знать, существует ли какая-либо правда для самого Саксона. Заявленный лимит был 2G, но я смотрю, есть ли какой-либо лимит, основанный на Саксоне, или все ограничения от Java.Возможно ли использовать более XG ОЗУ в Java Saxon HE, PE или EE
1
A
ответ
1
Нет, в Саксонии нет ограничения на объем памяти, который вы можете выделить: это то, что будет поддерживать Java VM.
Однако Saxon использует массивы Java и строки, и они имеют ограничение по размеру, заданное спецификацией языка Java, которое позволяет обращаться к массивам и строкам с использованием 32-разрядного целого числа. Таким образом, вы можете столкнуться с ограничениями, вызванными не количеством доступной памяти, а максимальным размером объектов Java. Например, в структуре данных TinyTree количество узлов в дереве ограничено 2^31, а строковое значение узла документа (то есть конкатенация всех текстовых узлов в документе) не может превышать 2^31 персонажи.
Я просто саксонский пользователь, насколько мне известно, как и любое приложение Java, использует память, которую вы позволяете ему выделять при запуске с помощью java.exe, например, с помощью Oracle JRE документации http://docs.oracle.com/javase/7/docs/technotes/tools/windows/java.html предлагает установить '-Xmsn' для начальной памяти и' -Xmxn' для максимального размера выделения памяти бассейн. –