我有一个类,我的 servlet 在每次页面请求时实例化它。该类有一个静态初始值设定项、一个静态变量,其余包含非静态公共(public)或私有(private)成员、构造函数等。
这样安全吗?我不希望在我的 servlet 的整个生命周期中只调用静态初始化程序一次。
使用 Tomcat。我知道每次类加载器加载类时,都会调用静态初始化程序。根据我的要求,这对我来说(使用 tomcat)应该是一个问题吗?
最佳答案
没有问题,除非您修改静态变量,因为它会被所有请求共享。如果您根据该变量做出任何决定,您将遇到并发问题。
静态初始化发生在类加载时,因此只会发生一次。
关于带有静态初始化器的 Java servlet 和类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25460400/