Я пытаюсь создать Observable<ByteBuffer>
или Flowable<ByteBuffer>
, который будет читать файл асинхронно (или, по крайней мере, я ищу лучшую производительность Java может дать мне в этом случае использования - чтение файл).Прочитайте файл асинхронно с RxJava 2
Я хочу прочитать его часть по частям (заполняя каждый раз новый ByteBuffer
), потому что у меня нет достаточного количества ОЗУ для его полного хранения в памяти и требуется обработка обратного давления (потому что ByteBuffer
s должен обрабатываться одним один, поэтому я не хочу, чтобы IO переполнял вычисления).
Я новичок в области реактивного программирования, и я тоже в RxJava. Так что, возможно, уже существуют некоторые библиотеки, которые делают именно то, что я хочу? (Я его уже искал, но еще не нашел)
Если это не так, может кто-нибудь сказать мне, как делать то, что я хочу, пожалуйста?
Вы можете рассмотреть возможность использования памяти отображается файл (ы), где вы сопоставить весь файл как ByteBuffer и ОС будет заботиться о пейджинга в том числе и из неиспользуемых частей, даже если сам файл не вписывается в память. – akarnokd