タグ

nioに関するryouzoのブックマーク (3)

  • https://blogs.oracle.com/yosshi/entry/grizzly%E3%81%AE%E6%A6%82%E8%A6%81_2_java_new_i

  • Javaバッファークラスメモ(Hishidama's Java Buffer Memo)

    Buffer(ByteBuffer・CharBuffer) JDK1.4で新設されたnew I/O関連に、バッファークラスがある。 でもちょっと癖があって分かりづらい(苦笑) 概要(特徴) Bufferの用途・存在意義は、「バッファー」という名前が示す通り、データを保存(追加)し、そこから取得する為のもの。ではあるのだけれど。 基的に、「データをある程度まとめてバッファーに入れ、入れたもの全てを読み取る」という使い方をする。 (キューの様な、追加して少し読み取って(まだデータが残ってるけど)また追加して…という使い方ではない) (書き込みと読み取りを順不同に行うのがキュー。バッファーは基的に交互に行う) バッファーサイズ(キャパシティー)の上限まで行ったら、それ以上追加できない。オーバーフロー(例外が発生)する。 (StringBuffer(StringBuilder)の様な、上限まで

    ryouzo
    ryouzo 2014/12/14
    分かりやすい
  • java.nio.Buffer系の使い方を理解したい - rderaログ

    java.nio.Buffer系がよく分からなかった。でも、色々調べたりしたら分かってきた。 今後のためのメモ。 バッファ使ううえで理解必要な概念。 容量 リミット ポジション(位置) リマイニング Java API ダイジェスト ByteBufferクラスの図を参考に理解した。 容量 文字通りそのバッファの容量。どの位、確保するか。 CharBufferを容量10文字で使おうと思ったら、まず以下のように宣言する必要がある。 CharBuffer cb = CharBuffer.allocate(10); リミット これがよく分からなくて、ハマった。 リミットは読み込み、書き込みできる要素の限界のこと。 例えば、以下のように容量を10文字確保してからリミットを5に設定すると5文字分しか使えない。 よって、6文字分をバッファに格納しようとするとエラーになる。容量は10文字分あるんだけどね。

    java.nio.Buffer系の使い方を理解したい - rderaログ
  • 1