gpt4 book ai didi

java - 对于哪些类型变量绝对不能是静态的?

转载 作者:太空宇宙 更新时间:2023-11-04 08:46:02 25 4
gpt4 key购买 nike

在我们的项目中大量使用的一个库中,有一个限制,即其类的变量绝不能是静态的。 (它是 ULC )。据我了解,这是因为需要将它们全部序列化。这个规则的问题在于它并不严格,并且可能会导致很难调试的错误。

我们将为 Checkstyle 编写一个模块来检测此类类型的静态变量(可能由一些可定制的正则表达式检测)。我们需要知道这项检查对于其他开发者来说有多么必要。

所以问题是:一般情况下,某些类型的变量绝对不能是静态的?

最佳答案

首先,正确的面向对象设计应该告知将方法/字段设为静态的决定。

其次,在 Web 应用程序中,请求都是在单独的线程上处理的,因此您必须非常小心如何使用静态方法/字段。如果您的静态方法在调用之间维护任何状态(例如,通过使用静态字段来保持计数),您可能会遇到线程问题。发生这种情况是因为一个请求可能会调用静态方法,然后在执行过程中被调用该方法的另一个线程停止。如果第一次调用修改了公共(public)资源,但未完成,则第二次调用可能会破坏第一次执行的进度。

关于java - 对于哪些类型变量绝对不能是静态的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4325280/

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