gpt4 book ai didi

java - JSP、托管模式下的 Google 应用程序、静态变量

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

当我以托管模式启动站点时,声明为静态的所有变量都会在不同请求中保留其值。当我将其上传到谷歌应用程序服务器时,它工作正常(?)。

即我有 public static String action = "index"; 并且如果我在另一个请求中将其值设置为“someval”,它会显示为“someval”而不是“index”。

应该是这样吗?我在哪里可以找到这个问题的解决方案?

最佳答案

为了提高效率,您的应用实例会保留在内存中以应对多个请求。如果实例一段时间内没有处理任何请求,它将被关闭。所以是的,您会看到这种行为,其中更改一个请求中的全局变量会影响另一个请求中的全局变量。更重要的是,Java Servlet 规范允许多线程执行,因此另一个请求可以与另一个请求同时执行和修改您的全局变量。

在生产中,您的应用可能会在许多服务器上同时运行。当然,它们不具有相同的一组全局变量,因此更改其中一个变量的值只会影响对同一处理程序的后续请求 - 而不会影响对其他处理程序的请求。

简而言之,网络应用程序中的可变全局变量通常是一个坏主意。

关于java - JSP、托管模式下的 Google 应用程序、静态变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3430074/

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