ブックマーク / blog.k11i.biz (2)

  • Java の BlockingQueue 実装の性能を比較してみた

    巷では「ArrayBlockingQueue よりも LinkedBlockingQueue の方がスループット性能がいいよ」なんてまことしやかに言われているけど、どうにも気になったので検証してみたら、実は ArrayBlockingQueue の方が性能いいんじゃない? という結論に至った話です。 Producer-Consumer デザインパターンと BlockingQueue Java で Producer-Consumer デザインパターン を実現するときによくお世話になる BlockingQueue インタフェース。このインタフェースには ArrayBlockingQueue クラス と LinkedBlockingQueue クラス の二つの実装が標準 API として提供されています。 高い処理性能を要求されるプログラムを Java で書こうとしたときに、CPU のすべてのコア

    Java の BlockingQueue 実装の性能を比較してみた
  • Java 8 で Base64 エンコーディング機能が導入されたらしいので使ってみた

    「何をいまさら」な感じの機能追加だけど、Java 8 から 標準のクラスライブラリで Base64 エンコーディング できるようになった。これはこれで嬉しいことなので、使い方とそのパフォーマンスをメモっておく。 使い方 まずはデモコードから。 エンコーダは以下のメソッド呼び出しで得られる 3 つの種類がある。 Base64.getEncoder() Base64.getUrlEncoder() Base64.getMimeEncoder() 対応するデコーダがそれぞれ用意されている。 Base64.getDecoder() Base64.getUrlDecoder() Base64.getMimeDecoder() Base64.getUrlEncoder() で得られるエンコード文字列は、普通の Base64 エンコーディングではファイルパスや URI での利用時に問題となりうる +/

    Java 8 で Base64 エンコーディング機能が導入されたらしいので使ってみた
  • 1