ひしだまの変更履歴

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

Javassist試行

2007-11-12 02:18:54 | PG(Java)

バイトコードを変更できるJavassistを試してみた。
書き換えの方法は慣れてみれば非常にシンプル。Javaソースの形で書いて差し替えられるなんてすごいなぁ。

実際のところ、クラスローダーとかに当てはめる方法の方が苦労するかも。
クラスローダーなんてよく知らないし。下手すると動かなくなるからなぁ。ってそれはバイトコード書き換え自体がそうか(汗)
同じクラスでもクラスローダーが異なれば別クラス扱い(instanceofがfalseになる)なので、ソースの見た目からは分かりづらいバグの温床になるし。

JDK1.5から出来るようになったという、main()の実行前にバイトコード変更クラスを登録するやり方のほうが堅実っぽい気がする。jarファイルをいちいち作らなきゃいけないのがちょっと面倒だけど。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする