【发布时间】:2013-05-24 16:01:06
【问题描述】:
我在我的控制器中生成了许多 ModelAndView 对象(我发送的每个网页一个),但我不知道哪种策略会节省更多内存并且性能会更好。
这是我的两个选择:
1- 在我的控制器中保留一个属性并每次都重用它:
@Controller
public class MyController{
private ModelAndView mav;
public ModelAndView methodA() {
mav = new ModelAndView(...);
return mav;
}
public ModelAndView methodB() {
mav = new ModelAndView(...);
return mav;
}
...
}
2- 为每个方法创建一个对象:
@Controller
public class MyController{
public ModelAndView methodA() {
ModelAndView mav = new ModelAndView(...);
return mav;
}
public ModelAndView methodB() {
ModelAndView mav = new ModelAndView(...);
return mav;
}
...
}
其中一个有什么重要的改进吗? 谢谢
【问题讨论】:
-
这两个都不应该是您关心的问题。将模型映射与相应请求匹配的线程是最大的问题。选择#2,而不是#1。可变的共享状态只会给你带来悲伤。
-
感谢您的回答。模型与请求匹配这么难?在什么意义上?
-
不,这并不难,尤其是当您为每个请求创建一个时。这就是我的观点。
-
@duffymo 是的,我尝试这样做。谢谢。