私の最終的な目標は、JVM に既にロードされたクラスを再ロードできるようにすることです。
次の回答を読んだ後Javaでクラスをアンロードしますか? 、私は独自の Class-Loader を実装しようとしています。これは、ロードするクラスごとに Class-Loader の異なるインスタンス (それ自体と同じタイプ) を作成します。
したがって、結果は 1 つの Class-Loader ごとに 1 つのクラスになります。
目的は、クラス (つまりそのすべてのインスタンス) を GC できるようにしてから、その class-loader をアンロードし、そのバイトから同じクラスを再ロードできるようにすることです。
問題は、クラス インスタンスが finalize() メソッドを使用してガベージ コレクションされていることを確認できますが、Class-Loader をアンロードまたはガベージ コレクションすることができません。
それがどのように行われるかを示すコード例、簡単なテストはありますか?
ありがとう、助けていただければ幸いです
編集:
より明確にするために、新しいオブジェクトのインスタンス化が 'new( )' オペランドを介して行われ、クラスローダーが明示的にメインのクラスをリロードしていないコード例に興味がありますが、次の 'new( )」が呼び出されます。