私の理解は、PermGen(ある意味では)がクラスコードをメモリに保持していることです。多くの場合、クラスパスを参照する多くのjarファイルがあります。 jarファイルがクラスパスに含まれている場合(Tomcatのlibディレクトリなど)、これらすべてのクラスのすべてのクラスが自動的にPermGenにロードされますか?jarのクラスはいつPermGenに入るのですか
同様の質問では、一度クラスのjarファイルが使用されると、PermGenはそのjarファイル内のすべてのクラス、または使用されているクラスだけをロードします(そして、後で必要に応じて残りのクラスファイルをロードします)?
実際、この仕様では、プリロードクラスを明示的に許可しています。それが使用される前にクラスをロードしなければならないことはかなり明白です。 –
そして、それらを初期化するのはどうですか? –
それは別の問題です。初期化まで関連するクラスのロードが遅れることがあるとは思いますが、初期化はPermGenの使用には関係しません。 –