Описание тега mappedbytebuffer

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

MappedByteBuffer - отображение страниц в физической памяти

Насколько я понимаю, MappedByteBufferпосле звонка FileChannel.map "отображает" содержимое файла в память, но не обязательно загружает весь файл. Таким образом, если я начну читать, например, с позиции pos(0), страница может фактически быть загружена…
14 мар '14 в 13:22
3 ответа

Java, почему чтение из MappedByteBuffer медленнее, чем чтение из BufferedReader

Я пытался прочитать строки из файла, который может быть большим. Чтобы улучшить производительность, я попытался использовать сопоставленный файл. Но когда я сравниваю производительность, я обнаруживаю, что путь к отображаемому файлу даже немного мед…
28 сен '17 в 06:53
1 ответ

Производительность Java MappedByteBuffer становится все хуже и хуже при постоянном изменении размера карты

Недавно у меня было несколько тестов о Java MappedByteBuffer. Я обнаружил, что если я постоянно сопоставляю один и тот же файл и читаю его, время, затрачиваемое на чтение, становится все длиннее и длиннее. Но если бы я не изменил размер карты, это б…
25 май '16 в 05:47
1 ответ

Файлы Cassandra SSTable и Memory сопоставлены

В этой статье " Чтение и запись из перспективы SSTable"(да, довольно старая статья) автор говорит, что файлы indexdb и sstable нагреваются с помощью файлов, отображаемых в памяти. Ключи строк для каждого SSTable хранятся в отдельном файле index.db, …
0 ответов

Как записать в файл общей памяти на Java

У меня есть ситуация, как показано ниже (оба находятся в одном хосте)1. Слушатель Программа написана на C++ и слушает файл общей памяти 2. Опубликованная программа написана на Java и должна публиковать сообщения в файле общей памяти, чтобы ее мог ис…
03 окт '18 в 01:42
0 ответов

Как создать MappedByteBuffer из ByteArrayInputStream?

У меня есть API, который возвращает мне контент в форме ByteArrayInputStream, который в основном представляет собой видеоконтент. Теперь для потоковой передачи это выглядит MappedByteBuffer, кажется, лучше всего подходит. Так как же преобразовать эт…
24 окт '18 в 15:12
2 ответа

Java Mapped Byte Buffer - мусорные значения в буфере

Я экспериментирую с Mapped Byte Buffer (Java), мне нужно использовать DirectBuffer для файла, чтобы выполнить некоторые арифметические операции: MappedByteBuffer mbf = new RandomAccessFile("blah.bin", "rw").getChannel().map(FileChannel.MapMode.READ_…
07 мар '18 в 03:43
0 ответов

Чтение огромного файла ~14 ГБ с использованием MappedByteBuffer

Я пытаюсь решить проблему потребителя производителя, которая требует интенсивного ввода-вывода. Константы производителя добавляют данные в файл, а потребитель читает из этого растущего файла. Размер файла обычно в ГБ (около 10 ГБ) . Первоначально я …
1 ответ

MappedbyteBuffer.get() увеличивает позицию слишком сильно

Соответствующая часть моего файла такова: 82 0a 96 c9 82 0a 96 d3 00 66 13 08 Я открываю файл в mappedbytebuffer и устанавливаю позицию в начало. Тогда я делаю это: MappedByteBuffer buffer = channel.map(FileChannel.MapMode.READ_ONLY, 0, channel.size…
1 ответ

Почему эта программа "подсчета строк" ​​работает медленно в Java? Использование MappedByteBuffer

Пытаться MappedByteBuffer (файл отображен в памяти на Java), я написал простой wc -l (количество строк в текстовом файле) demo: int wordCount(String fileName) throws IOException { FileChannel fc = new RandomAccessFile(new File(fileName), "r").getCha…
02 апр '16 в 12:29
0 ответов

MappedByteBuffer с несколькими файлами

Когда дело доходит до Java NIO MappedByteBuffer, возможно ли отобразить часть разных файлов в буфер? Что-то вроде этого: buffer = infilechannel1.map(FileChannel.MapMode.READ_WRITE, infilechannel1.position(), infilechannel1.size()); Тогда как то так:…
1 ответ

Изменение размера, очистка и закрытие ByteBuffer

На самом деле это три вопроса о том, как работать с отображенными в память файлами. То, что я сделал, работает, но мне не хватает авторитетного ответа. Я получаю свой ByteBuffer как следует: raf = new RandomAccessFile(file, isReadonly ? "r" : "rw");…
2 ответа

Как обернуть содержимое Uri с помощью nio.ByteBuffer на Android?

Я пытаюсь прочитать содержимое из Uri на Android, и мне нужен окончательный тип объекта, передаваемый в базовый SDK с помощью nio.ByteBuffer. Я могу получить InputStream через ContentResolver, но не нашел способа обернуть его с помощью nio.ByteBuffe…
1 ответ

mmap() против производительности Java MappedByteBuffer?

Я разрабатывал проект C++ из существующего кода Java. У меня есть следующий код C++ и чтение кода Java из того же тестового файла, который состоит из миллионов целых чисел. C++: int * arr = new int[len]; //len is larger than the largest int from the…
28 окт '14 в 03:35
1 ответ

Максимальный объем памяти для 32-битной JVM в 64-битной Windows не такой большой, как ожидалось

У меня были проблемы с отображением памяти размером 550 МБ. Я понимаю, что 32-разрядная JVM может выделять максимальный объем памяти около 1,4 ГБ, поэтому мне нужно отобразить большой файл по частям. Тем не менее, это файл 550 МБ, но я все еще не мо…
09 ноя '14 в 01:18
0 ответов

Хеш-таблица в MappedByteBuffer

Я хеширую строки с FNV в целые числа. Я храню их в пользовательской хеш-таблице в MappedByteBuffer, чтобы, надеюсь, улучшить доступ к памяти по той же таблице в кучной памяти, а также обеспечить согласованное хранение таблицы в файле в случае сбоя п…
27 сен '14 в 14:29
0 ответов

java NIO MappedByteBuffer не синхронизирует изменения содержимого

Я нахожусь в сцене, когда несколько потоков одного процесса A будут одновременно записывать в несколько файлов, а затем несколько потоков процесса B будут считывать из этих файлов и восстанавливать содержимое после завершения процесса A. Содержание …
5 ответов

Лучший способ прочитать огромный файл (например, очень большой текстовый документ)

Я новичок в Java ... в моем текущем проекте мне нужно прочитать и написать очень большой текстовый файл (1 ГБ - 5 ГБ)... сначала я использовал следующие классы: BufferedReader и BufferedWriter public static String read(String dir) { BufferedReader b…
1 ответ

Каков порядок вставки, если у меня есть два буфера с отображением в памяти, сопоставленные одному и тому же файлу?

Мой вопрос заключается в том, будет ли ОС соблюдать порядок вставки (т. Е. Последний записанный, последний на диск) или порядок будет непредсказуемым. Например: byte[] s1 = "Testing1!".getBytes(); byte[] s2 = "Testing2!".getBytes(); byte[] s3 = "Tes…
2 ответа

java Memory mapped файлы многопоточность чтение / запись

У меня есть 2 потока, которые одновременно обращаются к одному и тому же большому файлу (.txt). 1-й поток читает из файла. 2-й поток пишет в файл. Оба потока обращаются к одному и тому же блоку, например (начало:0, размер блока:10), но с разными экз…