Класс MappedByteBuffer

Все реализованные интерфейсы:
Comparable<ByteBuffer>
public abstract class MappedByteBuffer
extends ByteBuffer

Прямой буфер байтов, содержимое которого является областью памяти, сопоставленной с файлом.

Буферы байтов, сопоставленные с памятью, создаются с помощью метода FileChannel.map. Этот класс расширяет класс ByteBuffer операциями, специфичными для областей файлов, сопоставленных с памятью.

Буфер байтов, сопоставленный с памятью, и сопоставление файла, которое он представляет, остаются действительными до тех пор, пока сам буфер не будет собран сборщиком мусора.

Содержимое буфера байтов, сопоставленного с памятью, может изменяться в любое время, например, если содержимое соответствующей области сопоставленного файла изменяется этой программой или другой. Происходят ли такие изменения и когда они происходят, зависит от операционной системы и поэтому не определено.

Весь или часть буфера байтов, сопоставленного с памятью, может стать недоступным в любое время, например, если сопоставленный файл усечён. Попытка получить доступ к недоступной области буфера байтов, сопоставленного с памятью, не изменит содержимое буфера и вызовет неопределённое исключение либо в момент доступа, либо в некоторый момент позднее. Поэтому настоятельно рекомендуется принять соответствующие меры предосторожности, чтобы избежать манипулирования сопоставленным файлом этой программой или одновременно работающей программой, за исключением чтения или записи содержимого файла.

В остальных случаях буферы байтов, сопоставленные с памятью, ведут себя так же, как и обычные прямые буферы байтов.

С:
1.4

Методы

Модификатор и тип Метод Описание
MappedByteBuffer force()

Принудительно записывает любые изменения, внесённые в содержимое этого буфера, на устройство хранения, содержащее сопоставленный файл.

boolean isLoaded()

Определяет, находится ли содержимое этого буфера в физической памяти.

MappedByteBuffer load()

Загружает содержимое этого буфера в физическую память.

Методы, объявленные в классе java.nio.ByteBuffer

alignedSlice, alignmentOffset, allocate, allocateDirect, array, arrayOffset, asCharBuffer, asDoubleBuffer, asFloatBuffer, asIntBuffer, asLongBuffer, asReadOnlyBuffer, asShortBuffer, compact, compareTo, duplicate, equals, get, get, get, get, getChar, getChar, getDouble, getDouble, getFloat, getFloat, getInt, getInt, getLong, getLong, getShort, getShort, hasArray, hashCode, isDirect, mismatch, order, order, put, put, put, put, put, putChar, putChar, putDouble, putDouble, putFloat, putFloat, putInt, putInt, putLong, putLong, putShort, putShort, slice, toString, wrap, wrap

Методы, объявленные в классе java.nio.Buffer

capacity, clear, flip, hasRemaining, isReadOnly, limit, limit, mark, position, position, remaining, reset, rewind

Методы, объявленные в классе java.lang.Object

clone, finalize, getClass, notify, notifyAll, wait, wait, wait

Методы

isLoaded

public final boolean isLoaded()

Определяет, находится ли содержимое этого буфера в физической памяти.

Значение true подразумевает, что, скорее всего, все данные в этом буфере находятся в физической памяти и, следовательно, к ним можно получить доступ без возникновения страниц виртуальной памяти или операций ввода-вывода. Значение false не обязательно означает, что содержимое буфера не находится в физической памяти.

Возвращаемое значение является подсказкой, а не гарантией, поскольку операционная система может сбросить часть данных буфера в память подкачки к моменту возврата из вызова этого метода.

Возвращает:
true если содержимое этого буфера, вероятно, находится в физической памяти

load

public final MappedByteBuffer load()

Загружает содержимое этого буфера в физическую память.

Этот метод делает всё возможное, чтобы при возвращении содержимое этого буфера находилось в физической памяти. Вызов этого метода может вызвать несколько страниц виртуальной памяти и операций ввода-вывода.

Возвращает:
Этот буфер

force

public final MappedByteBuffer force()

Принудительно записывает любые изменения, внесённые в содержимое этого буфера, на устройство хранения, содержащее сопоставленный файл.

Если файл, сопоставленный с этим буфером, находится на локальном устройстве хранения, то по возвращении из этого метода гарантируется, что все изменения, внесённые в буфер с момента его создания или с момента последнего вызова этого метода, были записаны на это устройство.

Если файл не находится на локальном устройстве, такая гарантия не предоставляется.

Если этот буфер не был сопоставлен в режиме чтения/записи (FileChannel.MapMode.READ_WRITE), то вызов этого метода не имеет эффекта.

Возвращает:
Этот буфер

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/nio/MappedByteBuffer.html

Spec-Zone .ru
спецификации, руководства, описания, API