thisとthisによると、ClassLoaderオブジェクトへの参照がなくなりガベージコレクタが実行されると、dllはアンロードされたように見えます。この場合、スレッドでdllをロードしてから、カスタムClassLoaderを作成せずに同じ効果を得るためにスレッドを終了できますか?このような何か:Javaでdllをアンロード
new Thread(
new Runnable()
{
public void run()
{
System.load("dll");
}
}
).start(); //Will load the dll, then there will be no references to the thread
System.gc(); //Will unload the dll
私はおそらく現実の設定でこれ以上の精巧な何かをするだろうが、ちょうどポイントを表示します。
Note: 'System.gc();'はガーベアコレクションを直接強制しません。もっと気楽にガーベジコレクションを実行してください。 – thejh
"謙虚なVMです。可能であれば、いつでもあなたに都合のいいこと、圧力をかけないこと、あなたの無限の知恵の中で、ゴミ収集を実行することを考えてください。 –