cost 176 ms
如何在不耗盡內存的情況下反向讀取文件?

[英]How to read a File character-by-character in reverse without running out-of-memory?

故事 我最近有問題... 我必須逐個字符地反向讀取文件,而不會耗盡內存。 我無法逐行讀取它並使用StringBuilder將其反轉,因為它是一個占用一演出 (GB) 的 I/O 空間的單行文件。 因此它會占用太多 JVM(和系統)的內存。 我決定從頭到尾(從頭到尾)逐個字符地閱讀它,這樣 ...

使用共享 memory IPC 的文件

[英]Using files for for shared memory IPC

在我的應用程序中,有一個進程將數據寫入文件,然后響應接收請求,將通過網絡將(部分)數據發送到請求進程。 這個問題的基礎是看當兩個進程碰巧在同一個主機上時,我們是否可以加快通信速度。 (在我的例子中,過程是 Java,但我認為這個討論可以更廣泛地應用。) 有一些項目使用 Java 的 FileCha ...

MappedByteBuffer(在Android Studio中)構造函數已損壞(超級構造函數已損壞)

[英]MappedByteBuffer(in Android Studio) constructor is broken(super constructor broken)

我有一個字節數組,它必須轉換為 MappedByteBuffer。 但是當我嘗試創建 MappedByteBuffer 時,發生錯誤。 error: cannot find symbol method MappedByteBuffer(int,int,int,int,byte[],int) 映 ...

如何防止 MappedByteBuffer put 在文件末尾寫入空字符?

[英]How to prevent MappedByteBuffer put from writing null characters at the end of file?

作為分配的一部分,我使用 Java 的 MappedByteBuffer 和固定緩沖區大小寫入文件。 它應該逐個字符寫入,因為緩沖區大小可以小於行長度。 但問題是它將文件末尾緩沖區的剩余位置寫為空字符。 如何刪除那些空字符? 這是一個示例代碼: 這是輸出(使用 Sublime Text utf ...

無法使用 MappedByteBuffer 分塊讀取文件

[英]Cannot read file in chunks with MappedByteBuffer

在讀取操作期間,我得到 java.io.IOException: Channel not open for writing - 無法將文件擴展到所需的大小 我寫了一個簡單的程序,用 MappedByteBuffer 讀取文件。 這個想法是根據API讀取帶有區域的文件。 但是在執行過程中我得到了異常。 ...

如何使用MappedByteBuffer從java中的映射文件中逐行讀取

[英]How to read line by line from mapped file in java using MappedByteBuffer

我想以非常快的方式閱讀一個大文件。 我正在使用這樣的MappedByteBuffer : 這不能正常工作。 它正在更改文件的內容並打印更改的內容。 有沒有更好的方法來使用MappedByteBuffer讀取文件行? 最終我想分割線並提取某些內容(因為它的csv)所以這只是一個 ...

在 Tensorflow-lite Android 中將 Bitmap 轉換為 ByteBuffer (float)

[英]Converting Bitmap to ByteBuffer (float) in Tensorflow-lite Android

在用於圖像分類的 tensorflow-lite android 演示代碼中,圖像首先被轉換為 ByteBuffer 格式以獲得更好的性能。 這種從位圖到浮點格式的轉換以及隨后到字節緩沖區的轉換似乎是一個昂貴的操作(循環、按位運算符、 float mem-copy 等)。我們試圖用 opencv 實 ...

Java映射的字節緩沖區-緩沖區中的垃圾值

[英]Java Mapped Byte Buffer - garbage values in buffer

我正在嘗試使用映射字節緩沖區(Java),必須在文件上使用DirectBuffer來執行一些算術運算: 問題:-是否將直接緩沖區清零? 我有一個調試方法將值轉儲為 有趣的是,當我在寫入任何值之前進行轉儲時,它會轉儲所有零(雙精度): 當我寫信到任何地方時,請說: ...

有沒有辦法在 Java 中映射大於 Integer.MAX_VALUE 的文件?

[英]Is there a way to memory-map files in Java that are larger than Integer.MAX_VALUE?

FileChannel#map用於映射文件(即啟動內存映射),需要long作為長度參數。 然而, 關於FileChannel#map的文檔說明如下: size - 要映射的區域的大小; 必須為非負且不大於 Integer.MAX_VALUE 首先,如果他們只允許高達Integer.M ...

Java,為什么從MappedByteBuffer讀取比從BufferedReader讀取慢

[英]Java, why reading from MappedByteBuffer is slower than reading from BufferedReader

我試圖從一個可能很大的文件中讀取行。 為了獲得更好的性能,我嘗試使用映射文件。 但是當我比較性能時,我發現映射文件的方式甚至比我從BufferedReader讀取的速度還要慢一點 在Linux中讀取文件大小為537MB的測試結果: MappedBuffer方式: B ...

使用MappedByteBuffer時出現IndexOutOfBoundsException

[英]IndexOutOfBoundsException when use MappedByteBuffer

我正在考慮使用MappedByteBuffer將一些數據存儲/加載到文件中。 假設我有long類型的字段A,並且序列化時字符串的字段B如下所示:A(long)| B(弦) 現在我要寫和讀它。 這是一段示例代碼: 所以以后我可以通過調用mbb.getLong(0)來檢索很長時間 ...

讀取大文件多線程

[英]Read large file multithreaded

我正在實現一個應該接收大文本文件的類。 我想將其拆分為多個塊,每個塊由另一個線程保持,該線程將計算該塊中每個字符的頻率。 我希望啟動更多的線程可以獲得更好的性能,但事實證明性能會越來越差。 這是我的代碼: ...

Java-mappedbytebuffer是否占用直接內存?

[英]Java-Does mappedbytebuffer occupy direct memory?

我很好奇Java中的bytebytebuffer是否占用直接內存? 正如這里提到的 直接字節緩沖區也可以通過將文件區域直接映射到內存中來創建 當我將文件映射到內存時,應使用直接內存。 但是我用JVM參數“ -XX:MaxDirectMemorySize = 200MB”啟動 ...

調整大小,刷新和關閉ByteBuffer

[英]Resizing, flushing and closing ByteBuffer

這些實際上是關於如何使用內存映射文件的三個問題。 我做了什么工作,但我錯過了一個權威的答案。 我得到了我的ByteBuffer ,如下所示: 為了調整大小,以下似乎可行 沒有調用raf.getChannel() ,但它是否真的正確? 根據Javadoc ,呼叫fo ...

Cassandra SSTable和內存映射文件

[英]Cassandra SSTable and Memory mapped files

在本文的《從SSTable透視圖進行讀寫》 (是的,很老的文章)中,作者說使用內存映射文件對indexdb和sstable文件進行了預熱。 在啟動Cassandra期間,每個SSTable的行鍵都存儲在名為index.db的單獨文件中,“遍歷這些文件”以進行預熱。 Cassandra ...

在內存有限的系統上寫入大文件時,如何避免mapFailed()錯誤

[英]How do I avoid mapFailed() error when writing to large file on system with limited memory

我剛剛在我的opensrc庫代碼中遇到錯誤,該代碼分配了一個較大的緩沖區以對大型flac文件進行修改,該錯誤僅發生在使用Java 1.8.0_74 25.74-b02 32位且內存為3Gb的舊PC機上 最初我只是分配一個緩沖區 但是一段時間以來 我的(錯誤)理解是,映射緩沖 ...

多線程ByteBuffers比順序慢?

[英]Multi-threaded ByteBuffers slower than sequential?

我有一個需要處理的巨大字節數組。 從理論上講,應該可以將工作分成均勻的部分,並將它們分配給不同的線程,以提高多核機器的性能。 我為每個線程分配了一個ByteBuffer ,並分別處理了部分數據。 即使我有8個邏輯處理器,最終性能也比單個線程慢。 它也是非常不一致的。 有時相同的輸入 ...

為什么這個“行數”程序在Java中變慢? 使用MappedByteBuffer

[英]Why is this “line count” program slow in Java? Using MappedByteBuffer

為了嘗試使用MappedByteBuffer (Java中的內存映射文件),我編寫了一個簡單的wc -l (文本文件行計數)演示: 我在大約15 MB(15008641字節)和100k行的文件上嘗試了這個。 在我的筆記本電腦上,大約需要13.8 sec 。 為什么這么慢? 完整 ...

java內存映射文件多線程讀/寫

[英]java Memory mapped Files multithreading read / write

我有2個線程同時訪問同一個大文件(.txt)。 第一個線程正在從文件中讀取。 第二個線程正在寫入文件。 兩個線程都訪問相同的塊,例如(start:0,blocksize:10),但具有不同的通道和緩沖區實例 讀者: 作家: 我知道如果兩者同時開始,我將獲得重疊 ...

內存不足錯誤:Java堆空間

[英]Out of Memory Error: Java Heap space

我正在嘗試使用映射的字節緩沖區讀取文件,並且在行buffer.position(position);處獲取OutOfMemoryError:JavaHeapSpace ; ..我不了解代碼中的錯誤。.可能是錯誤的原因嗎? ...


 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM