我有一些对象我正在实例化然后在JSP中使用。我已经在多个getter上创建了这些对象以延迟加载(而不是在cstor中初始化),因为这些操作很慢,而且并非所有操作都被使用。
我知道简单的延迟加载会导致线程安全问题:
if(this.var == null) {
this.var = service.call();
}
return this.var;
然而,因为这些类只能从JSP调用(并且由于cstor的params只能通过容器暴露给JSP而被调用),我还好吗?由于它是JSP执行的一部分,我无法想象我必须担心多个线程,但想要得到每个人的想法。
运行的应用服务器是基于Jetty的。
答案 0 :(得分:2)
如果您不在线程之间共享对象(或Web应用程序的请求),则不必担心线程安全问题。
如果你在JSP中构建对象,然后在那里使用它们,并且对象不会在幕后做任何会导致问题的有趣的东西,你应该没问题。