Fight the Future

Java言語とJVM、そしてJavaエコシステム全般にまつわること

2009-03-13から1日間の記事一覧

SimpleDateFormatがスレッドセーフでないってあんまり知られてないんだなあ

ので、スレッドセーフ?って人はstatic finalな変数に入れずに、 毎回SimpleDateFormatインスタンスを生成すること。 ちょっと慣れた人はsynchronizedブロックに入れること。 共通基盤系のクラスに手を入れられる人は、ThreadLocalに入れてしまうのもあり。 …

有効期間があるレコードを取得するSQLの書き方

よくある履歴管理みたいなやつ。 パフォチューしてて『アート・オブ・SQL』調べてたら載ってた。たとえばこんなの。 # PostgreSQL 8.1で動作を確認。 CREATE TABLE item_history ( item_no VARCHAR , item_name VARCHAR , price INTEGER , enforcement_date …

新規ではなく改修プロジェクトではJUnitよりTestNG

だと実感。 すでに動作しているアプリケーションだから、テストを作成するスコープが通常と逆になる。 つまり、unit→functional→integrateが新規であるなら、integrate→functional→unitとなる。 それはもちろんすでに動作しているから。 この場合unitをメイ…

BigDecimalはvalueOf()でインスタンス作ろうぜ

new BigDecimal(10); BigDecimal.valueOf(10); も同じ値を持つインスタンスを生成するけど、valueOf()を使おうぜ。 この static メソッドは、よく使われる BigDecimal を再利用できるようにするために、long を引数とするコンストラクタの代わりに提供されま…