Spec-Zone .ru
спецификации, руководства, описания, API
|
public abstract class MappedByteBuffer extends ByteBuffer
Отображенные буферы байта создаются через FileChannel.map
метод. Этот класс расширяется ByteBuffer
класс с операциями, которые являются определенными для отображенных на память областей файла.
Отображенный буфер байта и файл, отображающий это, которое это представляет, остаются допустимыми, пока сам буфер не собирается "мусор".
Контент отображенного буфера байта может измениться в любое время, например если контент соответствующей области отображенного файла изменяется этой программой или другим. Происходят ли такие изменения, и когда они происходят, является зависимым от операционной системы и поэтому неуказанным. Все или часть отображенного буфера байта могут стать недоступными в любое время, например если отображенный файл является усеченным. Попытка получить доступ к недоступной области отображенного буфера байта не будет изменять контент буфера и заставит неуказанное исключение быть брошенным или во время доступа или в некоторое более позднее время. Поэтому строго рекомендуется, чтобы соответствующие предосторожности были взяты, чтобы избежать манипулирования отображенным файлом этой программой, или одновременно рабочей программой, кроме считать или записать контент файла. Отображенные буферы байта иначе ведут себя не по-другому чем обычные прямые буферы байта.
Модификатор и Тип | Метод и Описание |
---|---|
MappedByteBuffer |
force()
Силы любые изменения, произведенные в контенте этого буфера, который будет записан устройству хранения данных, содержащему отображенный файл.
|
boolean |
isLoaded()
Говорит, является ли контент этого буфера резидентным объектом в физической памяти.
|
MappedByteBuffer |
load()
Загрузки контент этого буфера в физическую память.
|
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, order, order, put, put, put, put, put, putChar, putChar, putDouble, putDouble, putFloat, putFloat, putInt, putInt, putLong, putLong, putShort, putShort, slice, toString, wrap, wrap
public final boolean isLoaded()
Возвращаемое значение true подразумевает, что очень вероятно, что все данные в этом буфере являются резидентным объектом в физической памяти и могут поэтому быть получены доступ, не подвергаясь никаким отсутствиям страницы виртуальной памяти или операциям ввода-вывода. Возвращаемое значение false не обязательно подразумевает, что контент буфера не является резидентным объектом в физической памяти.
Возвращенное значение является подсказкой, а не гарантией, потому что базовая операционная система, возможно, пронумеровала страницы некоторых из данных буфера к тому времени, когда вызов этого метода возвращается.
public final MappedByteBuffer load()
Этот метод делает максимальные усилия, чтобы гарантировать, что, когда он возвращается, контент этого буфера является резидентным объектом в физической памяти. Вызов этого метода может заставить некоторое число отсутствий страницы и операций ввода-вывода происходить.
public final MappedByteBuffer force()
Если файл, отображенный в этот буфер, находится на локальном устройстве хранения данных тогда, когда этот метод возвраты, гарантируется, что все изменения, произведенные в буфере, так как это создавалось, или начиная с этого метода, были последние вызванный, будет записан тому устройству.
Если файл не находится на локальном устройстве тогда, никакая такая гарантия не делается.
Если этот буфер не был отображен в режиме чтения-записи (FileChannel.MapMode.READ_WRITE
) тогда вызов этого метода не имеет никакого эффекта.
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.