タグ

NIOに関するterurouのブックマーク (3)

  • New I/O バッファの使い方 - Java 入門

    New I/O バッファとは? 低レベル I/O が望ましい場合、例えば OpenGL ライブラリを利用する時にも NIO Buffer は利用されます。ここでは具体的な利用例と、それぞれのコードの意味をみてみましょう。 NIO バッファにはダイレクトバッファ (direct buffer) と非ダイレクトバッファ (non-direct buffer) があります。 ダイレクトバッファでは、 Java VM は可能な限りネイティブ I/O 操作を実行するよう試みます。 これによって、中間のバッファの割り当てを抑えます。 allocateDirect メソッド等で割り当てたバッファは ダイレクトバッファになります。通常ダイレクトバッファの割り当て、解放のコストは、そうではない場合より高くなります。 このため短時間で割り当て、解放を繰り返すような操作には向きません。サイズが大きく、生存時間の

    New I/O バッファの使い方 - Java 入門
    terurou
    terurou 2012/11/16
    Javaにdirect bufferとnon-direct bufferの違いがあるっての知らんかった。前者はヒープ外に領域確保、パフォーマンスは良い、解放コストが高い(生存期間の長いバッファに使うべき)
  • HTTPサーバにJava NIOは必要か

    0x00. はじめに 筆者はJava製のWAF(Web Application Firewall)、Guardian@JUMPERZ.NETの開発とメンテナンスを行っている。元は自社のシステムを守るために(そして半分趣味で)作ったものだが、数年前にこれをコアのエンジンとしてさらに拡張し、SaaS型の商用サービス「Scutum(スキュータム)」を立ち上げた。 その後順調に顧客を獲得することができ、システムリソース的にも増強が必要となる段階などを経験した。Google、mixiやはてな等、さまざまな大規模サイトのインフラエンジニアの方々がインフラ設計に関する考え方などをインターネット上で公開してくれているおかげで、初期のシステム設計時に「将来的にスケールアウト可能なシステム構成にしておくこと」が重要であるということがわかっていた。その教えに従っていたおかげで、リソースの逼迫(ちなみに今回はCP

    HTTPサーバにJava NIOは必要か
    terurou
    terurou 2011/04/28
    NIOにバグがあるかも?
  • C.Scott Andreas「C500k in Action at Urban Airship」 - 以下斜め読んだ内容

    Urban Airship Blog 2010.8.24のエントリ C500k in Action at Urban Airship push通知サービスの代行サービスをやってるUrban Airshipのシリーズ物のエントリ1回目 (補足)OpenID関連のサービスやってたVidoopという死亡したスタートアップ(パテントは会社ごと買収されてた)の元メンバーがやってる Amazon EC2でクラウド破産は避けたい python/c/c++/node.js/java/scalaと色々作っては試した NIO(java)に落ち着いた。現在1インスタンスでc500k(使用メモリ2.5GB) 以下斜め読んだ内容 AirMail PushというサービスのAndroid版の開発を前からずっとやってる AirMailのサービスで必要とされること 数百万単位のデバイスへの同時接続をサポートできるサーバが必

    C.Scott Andreas「C500k in Action at Urban Airship」 - 以下斜め読んだ内容
    terurou
    terurou 2010/11/22
    非常に興味深い
  • 1