My Photo

« サーブレット・JSPメモ006:コンテキストパス | Main | Edyが楽天Edyに »

February 12, 2012

サーブレット・JSPメモ007:サーブレットのシングルインスタンス・マルチスレッドモデル

サーブレットは通常、最初にそのサーブレットへのリクエストがあるとインスタンス化され、init()が呼ばれる
1つのサーブレットはインスタンスが1つ作られてメモリに常駐し、同じサーブレットのリクエストに対しては同じインスタンスが利用される。
よってprivateな変数も複数のリクエスト間で共有される。読み取り専用データや定数以外はサーブレットのフィールドにすべきではない。

1つのサーブレットのインスタンスは1つで、マルチスレッドで動作する。
下記表はサーブレット・JSPの変数・属性がスレッドセーフかどうかを表している。

スレッドセーフ
ローカル変数
インスタンス変数×
static変数×
リクエスト属性
セッション属性×
アプリケーション属性×
ページ属性(※)

※:ページ属性はJSPのページスコープの属性。暗黙オブジェクトの pageContext に設定する。

« サーブレット・JSPメモ006:コンテキストパス | Main | Edyが楽天Edyに »

サーブレット・JSP」カテゴリの記事

Comments

Post a comment

(Not displayed with comment.)

TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/26461/53967509

Listed below are links to weblogs that reference サーブレット・JSPメモ007:サーブレットのシングルインスタンス・マルチスレッドモデル:

« サーブレット・JSPメモ006:コンテキストパス | Main | Edyが楽天Edyに »

April 2017
Sun Mon Tue Wed Thu Fri Sat
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30            
無料ブログはココログ

日本blog村

  • にほんブログ村 IT技術ブログへ
  • にほんブログ村 アニメブログへ
  • にほんブログ村 サッカーブログ アルビレックス新潟へ

好きな音楽家

メモ

XI-Prof