Мне любопытно, занимает ли mappedbytebuffer прямую память в Java? Как указано в здесь
Прямой байтовый буфер также может быть создан путем сопоставления области файла непосредственно с памятью.
Когда я отображаю файл в память, следует использовать прямую память. Но я запустил программу с параметром JVM "-XX:MaxDirectMemorySize=200MB", затем попытался отобразить файл размером 1 ГБ в память, это сработало. Более того, я сначала выделил для directByteBuffer 200 МБ, а затем попытался отобразить файл размером 1 ГБ в память, и это все равно сработало! Итак, какую часть памяти занимает mappedbytebuffer?