![]() |
1
12
这会导致一场大混乱。如果您同时从不同的线程添加两个项,那么您肯定会得到非常奇怪的结果,甚至在一个线程关闭
我会用本地的
|
![]() |
2
6
我总是喜欢非静态类。依赖项不能注入到静态类中,单元测试更加困难。而且,当对其进行单元测试时,其客户机不能将其替换为test double。 http://googletesting.blogspot.com/2008/12/static-methods-are-death-to-testability.html |
![]() |
3
3
这段代码不像你写的那样是线程安全的。 如果dataaccessor字段和方法是静态的,那么多个客户机同时命中这段代码时会出现并发问题。很可能会出现非常奇怪的异常,甚至可能一个客户机看到另一个客户机的数据。 去掉这些方法和这个字段上的static,为每个客户机实例化sampledao的一个新实例。 |
![]() |
4
0
为每个方法中的静态数据访问器引用分配新的数据访问器对象将导致并发问题。sampledao类中仍然可以有静态方法,但请确保删除对dataaccessor的静态引用。要使用dataaccessor,请创建一个本地实例。这样可以避免并发问题。这里的缺点是每次调用静态方法时,都会创建一个dataaccessor实例。 在大多数情况下,dao是无状态的,在这些情况下,我认为在daos中使用非静态方法毫无意义,因为我们需要创建该dao的实例来访问其方法。 |
![]() |
5
0
布鲁诺是对的。不过,您也可以添加一个单线程,并使用“锁”到应用程序的单线程部分。不过,请记住,请求将排队,如果查询需要时间,应用程序的性能将降低。这在web应用程序中尤其明显。对于移动或桌面应用程序,“锁定”绝对是合适的。 |
![]() |
J. Doe · 线程静态变量与实例化 7 年前 |
![]() |
D.B · django静态文件不随虚拟环境出现 7 年前 |
![]() |
157 239n · 我可以在UI线程之外使用getFilesDir吗 7 年前 |
![]() |
John David · ——等待这个。方法();在静态方法中不起作用 7 年前 |
![]() |
Yu.Pan · Spring boot项目找不到静态文件 7 年前 |
![]() |
Yu.Pan · 无法在springboot静态内容中获取文件 7 年前 |
![]() |
BaCh · C++:使用名称相同但参数不同的类成员和静态函数失败 7 年前 |