При выделении памяти вне кучи в Java (например, через прямые буферы или собственный код JNI) будет ли выделенная память поддерживаться большими страницами, если JVM использует -XX: + UseLargePages?
Нет, HotSpot JVM использует простой вызов lib c malloc для выделения памяти для прямого ByteBuffer.
malloc
Однако, если вы замените стандартный системный распределитель на, для Например, jemallo c - вы сможете настроить mallo c на использование огромных страниц при их наличии.
Еще один вариант использования огромных страниц для Прямой ByteBuffers - создать файл в файловой системе hugetlbfs и затем отобразить его в Java как MappedByteBuffer.
MappedByteBuffer