JDK1.6用のパスワード付きZipファイル操作クラスを作成。
ジェネリクスを使うようにしたのと、DeflaterクラスのJDK1.5で追加されたメソッドを使うように変えただけ。なのでJDK1.5以降で動くはずなんだけど、例外のメッセージがJDK1.5は不親切でなんとなく嫌いなので、JDK1.6でコンパイルした。
(JRE1.6向けにコンパイルしたclassファイルはJRE1.5では使えない)
JDK1.6用のパスワード付きZipファイル操作クラスを作成。
ジェネリクスを使うようにしたのと、DeflaterクラスのJDK1.5で追加されたメソッドを使うように変えただけ。なのでJDK1.5以降で動くはずなんだけど、例外のメッセージがJDK1.5は不親切でなんとなく嫌いなので、JDK1.6でコンパイルした。
(JRE1.6向けにコンパイルしたclassファイルはJRE1.5では使えない)
ファイナライザーfinalize()について実験したのでメモ。
finalize()は呼ばれない事があると聞いていたので、実際に実験してみた。
アプリケーション終了時には確かに呼ばれてないなー。
まぁJavaでfinalize()を使わないのはほぼお約束になってるから気にしないけど。
ついでにSystem.exit()も危険だと聞いたことがあったような気がしたので実験してみた。
なんと、tryブロック内でexit()を呼び出すとfinallyブロックが実行されない!
「finallyは必ず実行される」と思ってるから、なるほどこりゃ危険だわ…。
row_number()を使ってキー毎に最大値を持つ1件ずつを取得する例を見つけたので、メモに追加。
同じような事をmax()を使って行う方法は知ってたけど、row_number()を使うと1件だけじゃなくてn件とれるのは何かの使い道があるかも。