2

サーバー アプリケーションで HttpSession を使用しています。セッション セットの属性についても同様です。次の私の質問: セッション セットの属性の方法 - 参照または値による。

Java ヒープ領域の例外と RAM の節約ができない理由を恐れて質問します。

例: ステートレスarray1を作成し、これをさまざまなセッションの属性として設定するとします。この場合、すべてのセッションはarray1「シングルトン」インスタンスとして機能するか、そうでない可能性があります

ありがとう!

4

2 に答える 2

4

すべてのオブジェクト (配列を含む) は、Java では参照によって渡されます。したがって、配列の同じインスタンスを複数HttpSessionの に格納すると、それらの間で共有されます。配列のサイズは変更できませんが、その要素はプリミティブか参照かに関係なく変更できます。そのため、サーブレットなどの高度な同時実行環境では注意が必要です。

注意が必要なもう 1 つの側面は、 のすべての属性がシリアライズ可能であるHttpSession ことです。

于 2011-07-06T08:13:14.483 に答える
2

すべてのセッションで同じオブジェクトになりますが、このようなことを行う理由はあまり考えられません。ステートレス配列が何を意味するのか正確にはわかりませんが、おそらく不変という意味ですか? セッション間で共有されるこのようなオブジェクトは、不変でない場合、スレッド セーフに関しては細心の注意を払ってアプローチする必要があります。

于 2011-07-05T15:45:34.000 に答える