goo blog サービス終了のお知らせ 

ひしだまの変更履歴

ひしだまHPの更新履歴。
主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲームや音楽です。

JDK1.5以降Deflater

2008-01-19 23:40:50 | PG(Java)

JDK1.6用のパスワード付きZipファイル操作クラスを作成。

ジェネリクスを使うようにしたのと、DeflaterクラスのJDK1.5で追加されたメソッドを使うように変えただけ。なのでJDK1.5以降で動くはずなんだけど、例外のメッセージがJDK1.5は不親切でなんとなく嫌いなので、JDK1.6でコンパイルした。
(JRE1.6向けにコンパイルしたclassファイルはJRE1.5では使えない


実行されないfinally

2008-01-19 04:28:08 | PG(Java)

ファイナライザーfinalize()について実験したのでメモ。

finalize()は呼ばれない事があると聞いていたので、実際に実験してみた。
アプリケーション終了時には確かに呼ばれてないなー。
まぁJavaでfinalize()を使わないのはほぼお約束になってるから気にしないけど。

ついでにSystem.exit()も危険だと聞いたことがあったような気がしたので実験してみた。
なんと、tryブロック内でexit()を呼び出すとfinallyブロックが実行されない!
「finallyは必ず実行される」と思ってるから、なるほどこりゃ危険だわ…。