タグ

ブックマーク / programamemo2.blogspot.com (1)

  • hotdeployもどき その2

    hotdeployもどき その2を考えてみました。 hotdeployを実現するには、クラスローダーを用意して、hotdeployかけたいクラスを読み込めばいいことがわかりました。 そこでおきる問題は、hotdeployのクラスローダーで読みこんだクラスと、先に読み込んだクラスローダーで読み込まれるクラスはまったく別ものだということです。 つまり、同じクラスでもキャストができません。 ですので、hotdeployの対象となるクラスだけ読み込みなおすということと、実装と定義の分離が重要となります。 hotdeployする対象のクラスとそのインターフェイスを分離することで、実行時にリフレクションを使わないで実行できます。 その際の注意点は、インターフェイスはオリジナルのクラスローダーで読み込ませないようにすることです。 お手軽な実験ソースです。 package hotdeploy; impor

  • 1