Servlet中的静态方法

3

我正在编写我的Servlet应用程序,希望使用以下静态方法来乘以x和y。

public class Helper {
    private Helper() {
        throw new AssertError();
    }

    public static int mutltiply(int a, int b) {
        int c = a*b;
        return c;
    }
 }

我了解Servlet是多线程环境。从servlet调用这样的方法是否安全?

我是否应该为此函数添加同步属性?我担心c变量在多线程下的值。

我是Java新手,所以这些信息对我非常有帮助。

Danny。

4个回答

7

你的静态方法是无状态的。由于它没有引用方法范围外的任何内容,因此可以在任何地方安全使用。

话虽如此,考虑将这样的通用功能拆分到另一个类中。这样做更符合单一职责原则,而且你将能够在其他servlet中使用你的静态方法。


4

c是一个局部变量,因此这个方法是可重入的和线程安全的。你可以从多个线程安全地使用它。


4
只要你不使用静态字段,我就看不出有什么问题。但如果你真的创建了一个乘法方法,也许需要重新考虑应用程序的某些部分。

你绝对是正确的 :) 这是我想到的第一个动作 :) - danny.lesnik

2

是的,这种方法是线程安全的。只要您仅使用局部变量,您就会是线程安全的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接