bytebuffer

    2

    2答えて

    私は以下のようにByteBufferで読み続ける状況があります。 ByteBuffer buffer = MappedByteBuffer.allocateDirect(Constants.BUFFER_SIZE); しかし、読みが境界に到達したとき、私は唯一のboundaryLimit - FileChannel's current position読む必要がある(残りのバイトが読みときBU

    1

    1答えて

    私は、ディスクへ/書き込みオブジェクトを読み取るためにKryoを使用しようとしている:http://code.google.com/p/kryo/ カップルの質問: は、どのように私は私のバイトのバッファのサイズを決定するのですか?小さすぎるとクラッシュし、大きすぎるとメモリが大量に消費され、ファイルが膨大になります。フォローアップ、それはそれをシリアル化して以来、オブジェクトがどれだけ大きいかを

    0

    1答えて

    私はRandomAccessFileとFileChannelを持っています。私がしようとしているのは、上記のファイルからバイトの特定のセクションを読み込むことです。しかし、FileChannelのreadメソッドを見渡しながら、私がやろうとしているものに役立つオーバーロード、コンテンツ全体を読み込むメソッド、またはバッファ内の特定の位置に読み込みを行うメソッドしかないメソッドが取り込みます。特定の

    6

    1答えて

    私はJavaでモバイルアンドロイドベースのデバイス用のWebサーバーを作成しています。 このWebサーバーはシングルスレッドで、nginx、node.jsなどの考え方に従います。複数のスレッドを生成しないで、イベントループで非同期操作を使用するだけです。 マルチスレッドWebサーバーを使用している間、x86ベースのシングルコアCPUでより多くの仕事をする必要があります。 明確にするために、私はかな

    4

    4答えて

    5〜6スレッドを作成するアプリケーションを検討してください。サイクル内の各スレッドは5MBのページサイズにMappedByteBufferを割り当てます。アプリケーションが大きなファイルで動作するとき MappedByteBuffer b = ch.map(FileChannel.MapMode.READ_ONLY, r, 1024*1024*5); 遅かれ早かれ、OOMは java.io.I

    3

    2答えて

    ByteBufferを使用してチャネルの入出力操作を実行したい。 FileChannel inChannel = new FileInputStream("input.txt").getChannel(); FileChannel outChannel = new FileOutputStream("output.txt").getChannel(); ByteBuffer buf = Byt

    3

    4答えて

    私はたくさんのバイトバッファを割り当てています。私は彼らと一緒にやった後、私はnullへのすべての参照を設定します。これはおそらくバイトバッファを解放する "正しい"方法でしょうか?それを参照してGCをクリーンアップさせますか?また、System.gc()を呼び出してそれを試してみましょう。 とにかく、私はたくさんのバッファを作り、それを尊重します。 "しばらくすると、私はあらゆる種類のメモリエラ

    1

    1答えて

    ByteBufferのputInt()メソッドを使用してintをバイト配列に変換しました。反対はどうすればいいですか?これらのバイトをintに変換しますか? さらに、StringのgetBytes()メソッドを使用して、文字列をバイト配列に変換しました。どのように私はそれを他の方法で変換するのですか? bytesArray.getString()は読み取り可能な文字列を返しません。 [email 

    7

    2答えて

    Java ByteBufferの内部配列へのポインタを取得するにはどうすればよいですか? JNIEXPORT void JNICALL test(JNIEnv *env, jobject thiso) { jclass cls = env->FindClass("java/nio/ByteBuffer"); jmethodID aloc = env->GetStaticMeth

    4

    3答えて

    数値をバイト配列に変換する必要があります。たとえば、バイト配列に長いを変換するために、私はこの方法を持っている: public static byte[] longToBytes(long l) { ByteBuffer buff = ByteBuffer.allocate(8); buff.order(ByteOrder.BIG_ENDIAN); buff.pu