サーブレットコンテナの寿命中にこの特定の状態が不思議でした。サーブレットコンテナがサーブレット(クラス)をロードするために割り当てられたメモリがあるとします。特定の時間にメモリがいっぱいになり、コンテナが新しいサーブレットをロードする必要があります。この状態では、ロードされたコンテナがどんなアルゴリズムでも取り出されます(これを共有することができれば嬉しいです)。そして、必要なサーブレットに置き換えられます。ここで何が起こりますか? destroyメソッドは呼ばれていますか?好奇心の背後にある理由は、置き換えられたサーブレットが再びロードされるとき、2回目と呼ばれるinit()メソッドですか?メモリからロードされたサーブレットを強制的にアンロードする方法| Tomcat
0
A
答えて
0
サーブレットは、メモリがいっぱいであるためにメモリからアンロードされません。実際には、Servletオブジェクトは通常、小さなものであり、サーブレットによって処理される要求/応答オブジェクトに状態が完全に格納されているため、通常はメンバー変数がありません。通常、各サーブレットのインスタンスはいつでも1つしか割り当てられません。
これは基本的に残りの質問を無効にします。サーブレットは、Webアプリケーションのデプロイが解除されたときにのみアンロードされます。それが起こると、確かにdestroy
が呼び出されます。しかし、OutOfMemory
の状態では、通常は何もできません(ガベージコレクションできるものはすべて収集されます)ので、メモリが残っていないときはdestroy
が呼び出されることに依存することはできません。しかし、あなたはそれを推測したでしょう。メモリがなくなったら、さらに多くのオブジェクトを初期化するためのスペースがないので、追加のinit
はもう呼び出されません。
Webアプリケーションを再デプロイすると、アンデプロイメントサーブレットでdestroy
が呼び出され、新しくデプロイされたサーブレットを初めて使用する前にinit
が呼び出されます。
どのオブジェクトが解放されるかを決定するアルゴリズムは、ガベージコレクタのアルゴリズム(設定可能)です。しかし、それはしばらく使用されていないランダムサーブレットではなく、未使用( "ガベージ"、 "参照されていない")オブジェクトを収集するだけです。
関連する問題
- 1. ビューを強制的にロード/アンロードする
- 2. 動的にロードされたファイルを強制的にダウンロードする
- 3. ソースから動的にインポートされたファイルのアンロード/デコンストラクションを強制的に実行する
- 4. iFrameをロードした後にiFrameを強制的に再ロードする方法
- 5. nibからロードされたView Controllerを完全にアンロードする方法は?
- 6. wwwプレフィックスを強制的にjsファイルをロードする方法
- 7. ViewControllerを強制的にアンロードするには?
- 8. Angularjs - 強制的に新しいコードをロードする方法
- 9. サブビューをランドスケープで強制的にロードする方法
- 10. サーブレット - ダウンロードしたファイルを強制的に上書きする
- 11. IEにActiveXコントロールを強制的にアンロードさせる方法はありますか?
- 12. HTMLリンクを強制的に強制する方法は?
- 13. リレーでフェッチを強制的に強制する方法
- 14. アスペクト比を強制的に強制する方法 - css
- 15. アンロードされたモジュールのシンボルを読み込むようWinDbgに強制する
- 16. cakephp:強制的にアンロード/クローズ接続を行います。
- 17. RCPにテーブルの内容を強制的に再ロードさせる方法
- 18. RTCPeerConnectionをAdapterJSから強制的に使用する方法
- 19. iDeviceからアプリケーションを強制的に削除する方法
- 20. 壊れたWixバンドルを強制的にアンインストールする方法
- 21. 強制的にブラウザに強制的にサーバー側コードなしで再ロードする
- 22. np.random.choiceは強制的に強制されますか?
- 23. 強制ロードする方法imlファイルintellij
- 24. restコントローラのインポート/ロードをプログラムで強制的に行う方法
- 25. C++でメモリからDLLをアンロードする方法は?
- 26. キャッシュされたバージョンをロードするのではなく、サーバーからページを強制的にリロードする
- 27. Java - メモリからメディアをアンロード
- 28. Tomcat 7サーブレットは永続的なNIO接続を強制的に閉じる必要があります
- 29. 強制的に特定の型定義された型を強制する
- 30. インデントされたコードブロックをマークダウンで強制的に無視する方法