Javaでロックファイルの作成

ファイルキャッシュ
簡単なファイルキャッシュをJavaで行うことを考えていた。Cで書くとロックファイルを作成して、それのある無しで行えば良い。1つのJavaプロセスだけを考えたら、synchronized とか、その他、デザインパターン的に1つのインスタンスにすることもできる。それを経由すれば、一応大丈夫。でも、それだと複数プロセスではどうなの?みたいなのも有るし...。と思って、java.io.File クラスのメソッドをざっと眺めてみた。
すると、何の事は無い、createNewFile() というメソッドがあるじゃないですか。説明を見ても、atomic にファイルを生成とかあるし、よさそうだ。deleteOnExit() と連携して、なんとかなりそうだが、異常終了したときには、残ってしまいそうだ。まぁ、その際にはうまいこと削除するようにできればええってことだろうか。
一般には、どうやるかわからんけど、これをロックファイルとして利用する場合と、単に異常終了したか否かのフラグを表すファイルを用意しとけばいいのだろうか。まずは、普通に取得したファイルを格納し、取り出せるようにしてから、ロックを考えればよいか。