1

遅延ロードされたシングルトン Bean を使用する場合、Spring は何らかの方法でメモリ使用量を最適化しますか?

いくつかのモジュール (アプリケーション フレーム/ウィンドウ) を表すシングルトン Bean があり、それが遅延しているとします。この Bean は、このフレームのコンポーネントであり、Spring の IoC コンテナーで定義されていないいくつかのクラスをロードします。

モジュールを閉じると仮定するとJFrame、フレームのすべてのコンポーネントは通常、ガベージ コレクションされるはずですが、Spring Bean によって参照されます。

この状況でスプリングはメモリ使用量を最適化しますか?

正確には、プロトタイプについてではなく、シングルトンについて質問しています。ウィンドウを閉じると、Springシングルトンのメモリが解放されるという奇妙な動作があるためです。ウィンドウにプロトタイプ Bean を使用すると、さらに多くのメモリが解放されます。

4

1 に答える 1

2

インスタンス化されたシングルトンは、Spring によってリリースされません。ウィンドウを閉じるときにメモリを解放するのは、おそらくウィンドウを閉じた後に行われる何らかのリソース解放の結果であり、おそらくSpring Beanとは何の関係もありません。詳細については、コード、Bean は何か、ウィンドウの開閉方法を投稿する必要があります。

于 2013-03-15T13:43:19.240 に答える