Я предполагаю, что вы используете 32-битную JVM.В общем случае куча Java связана с количеством непрерывного виртуального адресного пространства, доступного для процесса.В Windows это обычно составляет от 1,6 до 1,7 ГБ, поэтому не является неожиданностью.См .: спасибо за память
Чтобы подняться выше, используйте 64-битную JVM.Более того, используйте 64-битную JVM со сжатыми ссылками, чтобы свести к минимуму количество занимаемой площади.см .: usecompressedooops