基于用户的web-app静态vs实例方法

时间:2014-04-29 05:29:40

标签: java servlets static synchronization

我在tomcat java上使用基于用户的web应用程序中的servlet。我有一个servlet Action类说A.我还创建了一个自定义类,说B有一些方法。

我的问题是:我应该在自定义类中创建Staitc方法,还是可以通过实例化类来调用它们。我在下面解释了两个场景:

Scenerio First:

Servlet A{

B.methodB() // static method.
}


Scenerio Second:

Servlet A{

B b = new B();
b.methodB() // instance method.
}

在我的情况下,方案首先是线程安全的吗?静态方法是否总是需要在基于用户的应用程序中同步?

1 个答案:

答案 0 :(得分:0)

Web 应用程序始终是为用户编写的,因此它始终是基于用户的。 (或者我错过了什么?)

场景一:methodB 应该是同步的,但它会造成性能问题,因为一次只有一个线程可以访问它。

场景二:它会起作用,但也许创建一个对象池会更好,因为对象不需要被垃圾收集。