私はstruts2を初めて使用し、struts2を実際に使用して、valuestackはオブジェクトのスタックであるというステートメントと、同じプロパティ名を持つ2つのオブジェクトがvalueオブジェクトに格納されたときに解決がどのように行われるかを説明するステートメントに出くわしました。これをクリアするために、struts2でどのように実装されているかを調べ始めました。最後のレベルに移動したとき、struts2は、ピーク時に同様にpushメソッド内のゼロ位置にオブジェクトを挿入するだけで、オブジェクトをゼロ位置から取得していることがわかりました。したがって、struts2での私の理解によれば、値スタックには1つのオブジェクトのみが含まれます(これがアクションオブジェクトになります)。あれは正しいですか?正しくない場合、アクションオブジェクトとは別に、valuestackに複数のオブジェクトを格納できるシナリオはいつありますか?
また、 http://en.wikipedia.org/wiki/Stack_ (abstract_data_type)でスタックを通過したときに、スタックに関するいくつかの基本的な質問を思いつきました。コンピュータサイエンスでは、スタックは後入れ先出し(LIFO)の抽象データ型と線形データ構造であり、プッシュとポップと呼ばれる2つの基本的な操作によって特徴付けられると述べられています。プッシュおよびポップ操作を含むデータ構造がスタックに分類されることに同意します。しかし、LIFOのことについて疑問を持っています.javaで配列の実装を見ると(これもスタックであり、同じリンクに記載されています)、私の理解によれば、必ずしも最後の要素が持っているわけではないインデックスを介して任意の要素にアクセスできるため、LIFOには従いません出てきます。これは私が持っている表記法なので、間違っていても私を炎上させないでください。これが正しければ、スタックは強制的なLIFOである必要はなく、プッシュとポップの動作を確認するだけでよいと言えますか?