Собственные методы, которые использует эта функция, принимают длинные значения без сообщения об ошибке. Вы можете позвонить им, используя отражение. Однако вы должны проверить, работают ли они для вас в вашей системе, и использование отображения памяти таким способом может сбить вас с толку, чем быть полезным.
Лучший подход заключается в создании массива MappedByteBuffers, например 1 ГБ каждый по размеру и создайте оболочку, которая скрывает это безобразие.
Хотя технически это не ошибка, это BAD (Broken As Designed). Первоначально причиной этого было то, что 32-битная JVM не могла это поддерживать, но я не понимаю, почему 64-битные JVM все еще этот предел.