2011-07-05 4 views
1

私は自分のサーバーアプリケーションでHttpSessionを使用しています。また、セッションセットの属性については、私の質問は次に述べます:セッションセットの属性 - 参照や値によるものHttpSessionは参照または値で属性を格納しますか?

質問Javaヒープ領域の例外とRAMの節約ではないという恐れの理由です。

たとえば、ステートレスarray1を作成し、これをさまざまなセッションの属性として設定します。この場合、すべてのセッションは「シングルトン」インスタンスとしてarray1で動作します。

ありがとうございます!

答えて

4

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

もう1つの面は、HttpSessionのすべての属性はである必要があります。

2

すべてのセッションで同じオブジェクトになりますが、このようなことをする理由はあまりありません。私はあなたがステートレスアレイで何を意味しているのか正確にはわかりませんが、おそらく不変な意味ですか?セッション間で共有されるこのようなオブジェクトは、スレッドの安全性が不変でない場合は、非常に注意してアプローチする必要があります。

関連する問題