
お世話になっております。
今回質問させていただきたいのはサーブレットコンテナ上のメモリ解放についてです。サーブレットの動作フローとしては、
(1)クライアントからHTTPリクエストが投げられる。
(2)Webサーバがリクエストを受け取り、コンテナへリクエストを委譲する。
(3)サーブレットコンテナは、リクエストとレスポンスのラッパーオブジェクトを生成し、リクエストへリクエスト情報をマッピングする。
(4)(3)で生成したリクエスト/レスポンスオブジェクトをサーブレットへ参照渡しする。
(5)サーブレットが処理を実行する
(6)レスポンスを生成し、クライアントへ返す。
という流れかと思いますが、この際に(3)で生成されるラッパーオブジェクトや、ロードされたサーブレットが解放されるのは、レスポンスを返した後なのでしょうか。それとも次のリクエストに備え、オブジェクト本体は確保されたまま、次のマッピングに備えるのでしょうか。(サーブレットの解放はコンテナが終了した際?)
はたまた、やはりJava特有のガベージコレクションが働き、メモリ解放はガベージコレクションのタイミングで行われるのでしょうか、、
よろしくお願い致します。。m(._.)m
No.3ベストアンサー
- 回答日時:
サーブレット自体のアンロードは、明示的にサーブレットをシャットダウンしたとき以外は行われません。
基本的に、サーバが生きてる限りずーっとオンメモリです。
リクエスト/レスポンスのラッパーオブジェクトは基本的には(サーブレットでブールするような仕組みで作らない限り)破棄されると思います。
オブジェクトの破棄は、Javaの仕様通りにGCが行います。
なるほどです。
すみません、1点だけ
>明示的にサーブレットをシャットダウンしたとき以外は行われません。
これはサーバをではなく、サーブレットをなのでしょうか、、
次の文を拝読するとサーバをとも読み取れるのですが、、
やはり1リクエストにしか使われず、使い終わったら破棄すべきオブジェクトとなりそれをGCするという形なのですね。
ご回答誠にありがとうございました。m(._.)m
No.4
- 回答日時:
>これはサーバをではなく、サーブレットをなのでしょうか、、
>次の文を拝読するとサーバをとも読み取れるのですが、、
正確には
・サーバは生きたままサーブレットを落とすことはできる。
・サーバが死んだ場合サーブレットは落ちる。
です。
前者はサーブレットを更新したような場合です。
メモリ上のサーブレットは破棄されて、次にリクエストがあったときに(更新された)サーブレットが展開されます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
オブジェクトレベルとメタレベル
-
ASP.net 教えてください!!(...
-
オブジェクト名をforループ内で...
-
VBA 同じ名前のオブジェクトを...
-
Excelで =EMBED("Acrobat Docu...
-
newは明示的にした方が良いのか?
-
VBAのWindowオブジェクトとWork...
-
ASP.NETから Java classファイル
-
Listに格納されているオブジェ...
-
VBSでのステートメントの末尾が...
-
JavaScriptとjQueryのbindの違い
-
VBScriptで計算して出た値をク...
-
ワイルドカード<?>と型パラメー...
-
Contextとは何でしょうか?
-
ビジュアルC++でボタンの有...
-
SQLException
-
ワードで画像をドロップすると...
-
DynaactionFormで困っています。
-
COMコンポーネントって何?
-
【Java】入力した西暦→和暦に変...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで =EMBED("Acrobat Docu...
-
VBA 同じ名前のオブジェクトを...
-
EXCEL VBAにて動的にCheckBOXを...
-
パワーポイントのVBAでテキスト...
-
C#でフォームのオブジェクト名...
-
VBAのWindowオブジェクトとWork...
-
Object型からDouble型へのキャスト
-
時間帯判定をする。
-
C++で*thisは何を指しているの...
-
ワイルドカード<?>と型パラメー...
-
Accessの連結・非連結オブジェ...
-
COMコンポーネントって何?
-
newは明示的にした方が良いのか?
-
ビジュアルC++でボタンの有...
-
CoCreateInstanceでエラーになる。
-
ResultSet での問題
-
多人数のじゃんけんプログラム
-
printerオブジェクトでのテキス...
-
サーブレットのクラス図について。
-
VBSでのステートメントの末尾が...
おすすめ情報