RSS RSS feed | Atom Atom feed

Java で公平なロック

ただし Java 5 なしで

Java で公平なロックを使いたい場合のお話です。タイトルの通り、Java 5 (もとい java.util.concurrent.locks パッケージ) は使いません。

続きを読む...

Auto-boxing/Auto-unboxing とぬるぽ

Auto-boxing/Auto-unboxing のおかげでプリミティブ型とラッパー型の変換における煩雑さが拭われましたが、調子に乗って使っているとしょうもない落とし穴にはまることがあります。

続きを読む...

インスタンスイニシャライザ?

Java のお話です。

static イニシャライザは結構広く知れ渡ってると思うんですが、インスタンスイニシャライザ?っぽいものがあります。コンストラクタではありません。

インスタンスイニシャライザという名前は、ついさっき思いついたオレオレネーミングですので、正式名ではありません。正式名は分かりません。むしろ、こういった構文が許されることに、昨日気づきました。

続きを読む...

開けたら閉めるを自動化する

開けたリソースは必ず閉めなければなりません。Java で必ず何かを行なうことを保障するには、finally を使います。

まずは try-finally を用いたイディオムを紹介し、さらにそれを自動化するにはについて追求してみます。追求ってほどではないんですけど。

続きを読む...

Java の volatile まとめ

あまり使う機会のない volatile ですが、大体スレッドプログラミングにおいて使用されます。使う機会がないので、何がうれしいのかとかなかなか実感する機会が少ないです。
また、いざスレッドプログラミングをする時に、volatile を使えば簡単かつ軽量にスレッドセーフにできるところを、synchronized を使ってかえって面倒なことをやっちゃう場合もある。なので今一度 volatile についてまとめてみます。

続きを読む...