gpt4 book ai didi

Java servlet 范围

转载 作者:行者123 更新时间:2023-12-01 17:33:12 25 4
gpt4 key购买 nike

我有一个 Web 应用程序,其中包含 Servlet 和通过 getInstance 访问的静态类:

MyServlet extends HttpServet {
protected void doGet(...) {
MyClass.getInstance().doStuff();
}
}

当客户端连接到 servlet 时,它们是否获得自己的 MyClass 实例,或者此类的实例对于所有 servlet 都是全局的?我的意思是,假设它有一个在 doGet 方法期间设置的静态变量,当其他客户端访问 Web 应用程序时,他们会获取其他客户端在该静态类中设置的变量值吗?

编辑:

具体来说,MyClass 表示访问 Web 服务的类,这是经过身份验证的。

最佳答案

Web 应用程序中的所有代码都可以访问 MyClass 的同一静态变量。

但是,它仍然必须遵守 Java 线程模型规则。

因此,在没有同步的情况下,在 doGet 中更改它并不意味着其他线程会自动看到新值。

关于Java servlet 范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9024579/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com