タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

JavaとperformanceとCodeReadingに関するraimon49のブックマーク (4)

  • ID生成大全 - Qiita

    セッションIDやアクセストークン、はたまた業務上で使う一意の識別子など、いろんなところで一意のIDを生成しなきゃいけないケースが存在します。 そこで世間で使われているIDの生成方法について調べてみました。 選択基準 ID生成における要求として、以下の観点が上げられるかと思います。 生成の速度 大量にデータを短期間で処理し、それらにIDを付与する場合、ID生成そのものがボトルネックとなることがあります。 推測困難性 IDを機密情報と結びつける場合、IDを改ざんされても、機密データが見れないようにできている必要があります。 順序性 採番した順にデータをソートする必要がある場合は、IDがソートキーとして使えないといけません。 それぞれについて各生成手段を評価します。 ID生成の手段 データベースの採番テーブル 採番用のテーブルを作り、そこで番号をUPDATEしながら取得していくやりかたです。古い

    ID生成大全 - Qiita
    raimon49
    raimon49 2017/12/09
    よく調べたなぁ。すごい。
  • 良いコードとは

    constexpr関数はコンパイル時処理。これはいい。実行時が霞んで見える。cpuの嬌声が聞こえてきそうだ

    良いコードとは
    raimon49
    raimon49 2015/12/15
    エンタープライズ領域における良いコード。
  • Java 7 時代の String#split() 事情

    Java 7 になって String#split() の実装が変更されたことに今更ながら気付いたので、Pattern#split() や Java 6 との性能の比較をしてみたメモです。 Java 6 以前の文字列分割処理 古くから Java を触っているエンジニアであればみな当然知っていることだと思いますが、 TSV ファイルを Java のプログラムで読み込んで処理をするときなど、特定のデリミタで区切られた文字列を個々の要素に分割するときは String#split() を利用せず、事前にデリミタに対する java.util.regex.Pattern オブジェクトを生成しておき、そのオブジェクトを使い回す形で Pattern#split() を利用した方が処理効率 (処理時間) がよくなります。 これは、 String#split() の実装が実質的に Pattern.compile

    Java 7 時代の String#split() 事情
    raimon49
    raimon49 2013/07/09
    めんどくさい話だなこりゃ
  • Java7 で ArrayList の foreach が速くなった理由を調べてみました。 - 地平線に行く

    Java7でList/TreeMap/TreeSetのIteratorがかなり早くなって、 ArrayListのforeach文(拡張for文)も、普通のfor文より早くなりました。 コレクションの細かい話、だが面白い! - 谷 心 in せろ部屋 そうなんですか!? …と思って試してみたところ、ArrayList の foreach文(拡張for文)が Java6 → Java7 で約2.5倍速くなっていました。 手元の環境では、普通の for 文より速くなることはなかったものの、ほとんど気になならないぐらいの差でした。 - 2011年11月26日 訂正: 速くなっていたのは ClientVM で実行した場合のみで、ServerVM では変わっていませんでした。 詳しくは、Javaの実行速度を調べるなら、ClientVM/SeverVM の違いを考慮しておくべきでした。 - 地平線に行

    Java7 で ArrayList の foreach が速くなった理由を調べてみました。 - 地平線に行く
    raimon49
    raimon49 2011/11/14
    内部的にtry-catchを使わなくなったからパフォーマンス改善した。もう拡張for文を使おうとしない人の言い訳にはならない。
  • 1