带有静态初始化器的 Java servlet 和类

标签 java tomcat servlets

我有一个类,我的 servlet 在每次页面请求时实例化它。该类有一个静态初始值设定项、一个静态变量,其余包含非静态公共(public)或私有(private)成员、构造函数等。

这样安全吗?我不希望在我的 servlet 的整个生命周期中只调用静态初始化程序一次

使用 Tomcat。我知道每次类加载器加载类时,都会调用静态初始化程序。根据我的要求,这对我来说(使用 tomcat)应该是一个问题吗?

最佳答案

没有问题,除非您修改静态变量,因为它会被所有请求共享。如果您根据该变量做出任何决定,您将遇到并发问题。

静态初始化发生在类加载时,因此只会发生一次。

关于带有静态初始化器的 Java servlet 和类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25460400/

相关文章:

java - getString() 只返回英文值

Java泛型编译错误 "Class<capture#1-of ? ..."

multithreading - 即使 server.tomcat.max-threads=5,Springboot 也会增加线程

java - 我们把Servlets放在Tomcat的目录结构中的什么位置呢?

java - 检查客户端机器上是否有cookie,否则你做一些事情并退出

java - convertView.getTag();创建转换错误

java - Spring Boot HTTPS 和重定向

Tomcat 服务器正在运行但应用程序未运行

java - 在 Servlet 中创建接口(interface)的对象?

java - 排除包含 IntelliJ Idea 中内置源的文件夹