サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
災害への備え
satoshi-kimura.hatenablog.com
http://d.hatena.ne.jp/wkoichi/20101128/p1 ログ出力が単純な文字列だけならあまり気になりませんが、 文字列連結をしているような場合や logger.debug("BEGIN ["+ hoge + "]"); メソッド呼び出しを行っている場合や logger.debug("BEGIN ["+ hoge.getClass().getSimpleName() + "]"); 文字列だけしか出力しないログでfor文の中で大量にログ出力する場合なんかでも、 ログにコードの行数を出力する設定をしていると、Log4Jの中で例外をスローしまくり(GCしまくり)なので効果があります。 入門書とかで触れといた方がいいのか?
ひがさんだけにメールするのもなんなのでこっちに。 シリアライズ可能にするには、Serializableをimplするのが手っ取り早いです。 オブジェクトをシリアライズして、デシリアライズすると、 クラスローダーが違ってもClassCastExceptionが発生しません。 (簡単に言うとファイルに保存してるのと一緒) なので、S2やS3は、ObjectOutputStream、ObjectInputStreamを使ってシリアライズ・デシリアライズしてます。 S2だと、この辺に失敗すると、元のクラスローダーでロードされたオブジェクトをそのまま返すので、ClassCastExceptionになります。 S3は最新だと例外投げるようになってます。 だけど、シリアライズ、デシリアライズの間で、クラス構造が変わると、デシリアライズできません。(例外になる) privateフィールドが増えただけでです
ドキュメントの元ネタってコトで。 Dxoについては、この辺参照ってことで。 http://d.hatena.ne.jp/higayasuo/20050817#1124260949 http://d.hatena.ne.jp/higayasuo/20050818#1124351693 http://d.hatena.ne.jp/higayasuo/20050825#1124964366 http://d.hatena.ne.jp/higayasuo/20050825#1124970673 もしかしたら、古くなった情報があるかもしれないけど。 その1、終わり。 使い方 Dxoインターフェースを作る。 public interface EmpDxo { EmpDto convert(Employee employee); Employee convert(EmpDto empDto); } こん
一度廃盤になりましたが、Kindle版で購入出来るようになっています。 http://www.amazon.co.jp/exec/obidos/ASIN/4797353406/amazonbooks08-22/ref=nosim Struts1.2.9を利用の方は、CodeLibs Struts (cl-struts)に差し換えることで 前回ブログに書いた内容の脆弱性を回避できます。 https://github.com/codelibs/cl-struts/ groupId:org.codelibs.struts artifactId:cl-struts version:1.2.9.1 http://qiita.com/kawasima/items/670d2591bc8fea19dc1d http://d.hatena.ne.jp/Kango/searchdiary?word=*%5B
このページを最初にブックマークしてみませんか?
『日刊きむきむちゃんねる。』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く