首页 > 解决方案 > 如何不使用 Tomcat 在多个请求中保留静态变量?

问题描述

根据这篇文章Tomcat: Java Static Variable Scope, Application or sessionwide? Tomcat跨请求保留静态变量,如何将其配置为不保留每个请求的静态变量?

标签: javatomcatservlets

解决方案


不,它不能。这是不实用的。

Java 语言规范 (JLS)要求在整个执行上下文(即 JVM)中只有一个类静态变量的实例。

唯一可能的“退出”是技术上可以拥有同一个类的多个副本,每个副本位于不同的类加载器中。然而,为每个请求创建一个新的类加载器并加载一个类的新副本将非常低效,而且完全不切实际。

解决方案很简单:

不要在请求处理类中使用静态。


推荐阅读