为什么Struts 2.x是多圈的?与Struts 1.x相比有哪些优势?

fee*_*ing 0 struts2 struts-1 web

我的团队决定使用Struts 2.x,但我很困惑,因为Struts 1.x动作是单例,像servlet这样的动作是多线程的.Struts 2.x在每个请求上创建新实例,这会增加堆内存使用量.

使用Struts 2.x需要更多内存吗?

Dav*_*ton 5

Java中的对象实例化非常便宜,因此没有性能问题.

垃圾收集器负责有效地回收在调用期间创建的任何对象的内存,因此没有显着的内存影响.

然而,优点显而易见:请求之间没有共享状态.