問題タブ [filechannel]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 可能な限り高速な方法で大きなファイルをコピーする
大きなファイルを可能な限り高速にコピーする方法を見つけようとしました...
次に、このクラスを作成します。
私はそれをテストし、結果は非常に印象的でした...しかし、大きな問題があります.コピーされたファイルは現在のファイルよりも非常に大きいです!!!
それで、それをチェックして、問題を見つけるのを手伝ってください、ありがとう:))
java - 最初の実行で MappedByteBuffer が遅い
長年の読者、初めてのポスター。
一連のバイナリ ファイルからデータをすばやく読み取るのに少し問題があります。ByteBuffers と MappedBytBuffers は私が必要とするパフォーマンスを提供しますが、ウォームアップするために最初の実行が必要なようです。それが理にかなっているのかどうかわからないので、ここにいくつかのコードがあります:
したがって、これを実行するには約 7 秒かかりますが、もう一度実行すると 10 ミリ秒で完了します。正しい動作を設定するには、何らかの初期実行を行う必要があるようです。次のような単純なことを行うことで、次のように機能することがわかりました。
これには約 2 秒かかります。その後、MappedByteBuffer プロシージャを実行すると、10 ミリ秒でデータが返されます。その初期化ステップを取り除き、最初に10ミリ秒でデータを読み取る方法がわかりません。「ウォーミングアップ」、JIT、および JVM についてあらゆる種類のことを読みましたが、すべて役に立ちませんでした。
それで、私の質問は、10ミリ秒のパフォーマンスをすぐに得ることは可能ですか、それとも何らかの初期化を行う必要がありますか? もしそうなら、これを行うための最速の方法は何ですか?
このコードは約 1000 個の非常に大きなファイルを処理することを目的としているため、速度が非常に重要です。
どうもありがとう。
java - ファイルチャネルを巻き戻す方法
私の宿題ではfc.position(position)
、内容を見つけるために使用する必要がありますが、その後、これを再帰的に行うために fc を巻き戻す必要があります。どうすればよいですか。fc の巻き戻し方法がないようです
java - 特定のバイトをオーバーパスしてファイルチャネルを逆にすることはできますか
私のプログラミングでは、処理した特定のオブジェクト util に対して読み取る必要があるバイト数がわかりません。しかし、せいぜい1024バイトであることはわかっています。
オブジェクトを処理した後、残りのバイトをファイルに戻すにはどうすればよいですか。つまり、残りのバイト数だけ fc を逆にします。
つまり、ファイルチャネルを特定のバイト数、たとえば現在の位置から 4 バイト戻すことができますか? –
java - 奇妙な ByteBuffer 出力
この奇妙な問題に遭遇したとき、私は ByteBuffers と IntBuffers を扱っていました。ここにコードがあります -
ご覧のとおり、プログラムは と を作成しByteBuffer
、クラスのメソッドをIntBuffer
使用してを 4 バイトとしてに追加します。try ブロックステートメントがコメントされる前にプログラムを実行したとき、 これが私の出力でした-put()
IntBuffer
int
ByteBuffer
System.out.println(bb.getInt());
ステートメントのコメントを外して再度実行すると、 System.out.println(bb.getInt());
これが私の出力でした-
では、なぜこれが起こっているのか誰か教えてください。