プログラミング
1408160338 は日付を表す数字である。この数字が面白いのは、タイムスタンプとしても、年月日時分で表された数字だとしても、同じ日時を表すところだ。 では早速試してみよう。 public static void main(String[] args) throws Exception { long t = 1408160…
コンシステントハッシュ法は便利なアルゴリズムだが、注意点がある。 仮想ノード数をいくつにするかという問題で、仮想ノード数が多ければ多いほどファイルは均一に分散するというわけではないという事実だ。 多数のキャッシュオブジェクトをいくつかのキャ…
プログラミング作法作者: ブライアンカーニハン,ロブパイク,Brian Kernighan,Rob Pike,福崎俊博出版社/メーカー: アスキー発売日: 2000/11メディア: 単行本購入: 58人 クリック: 1,137回この商品を含むブログ (201件) を見る今までたくさんの技術書を読んで…
デストラクタが無いと、真のオブジェクト指向でコードを書くことはできない。 これが理解出来てない人が割と多いようなので、ここに記録しておくことにする。 前提知識 デストラクタとは、オブジェクトを破棄する際に呼び出される関数 Java のファイナライザ…
マルチスレッドプログラミングでは、ロックの獲得が出来ずに待ち時間が発生し、パフォーマンス劣化の原因となることがしばしばある。そのような場合、まずは下記二点の検討を行う。 ロックの粒度を下げる そもそもロックしないようなアルゴリズムに変える も…
マルチスレッドプログラミングは直感とかなり異なる挙動をすることが多く、非常に困難なプログラミングであることが知られている。不具合も発見しにくく、高負荷になった時にのみ再現したり極めて稀な状態になった時にのみ再現したり等、解決が困難なだけで…
2^32 は何バイト? 4GB = 4096MB = 4194304KB = 4294967296B 2^64 は何バイト? 16EB = 16384PB = 16777216TB = 17179869184GB = 17592186044416MB = 18014398509481984KB = 18446744073709552000B 2^32 秒は何年? 136年70日6時間28分16秒→ signed なのでこ…