a**********0 发帖数: 422 | 1 上次一个帖子中学习到了professional的代码要使用单独的一个class来盛放这些
static field 但是不是很知道原因 |
d******b 发帖数: 73 | 2 因为本质上是全局的,在规模变大后,会造成混乱。放在单独的一个类里,可能是便于
管理。
我的观点是 static Field 必须 加 final |
a**********0 发帖数: 422 | 3 大规模情况下造成混乱是说 lose track of how it is changed and what the
current value it is 对吧
教科书经常具的例子是比如生成一个 human class 于是定义一个 static field 是
population 每construct 一个人 就加一 这样可以自动统计人数 这样的例子不实用
吗》 |
m******i 发帖数: 50 | 4 问个问题,如果是human class的对象,在使用一段时间之后,被garbage collection
了,那么这个population field,会自动减一吗? |
c*****a 发帖数: 808 | |
g*****g 发帖数: 34805 | 6 In practice, if you need some data to support singleton, you are better off
with a DI framework, Spring IoC, Guice etc. Beyond that scope, static field
is pretty much limited to constant.
【在 a**********0 的大作中提到】 : 上次一个帖子中学习到了professional的代码要使用单独的一个class来盛放这些 : static field 但是不是很知道原因
|
y*******g 发帖数: 6599 | 7 能详细谈谈原因吗? 或者什么reference 可以看看。
off
field
【在 g*****g 的大作中提到】 : In practice, if you need some data to support singleton, you are better off : with a DI framework, Spring IoC, Guice etc. Beyond that scope, static field : is pretty much limited to constant.
|
g*****g 发帖数: 34805 | 8 DI is more flexible, e.g. you can extend and have hierarchy. You can have
precise control of life cycle.
After all, static -> single copy of data/method in the JVM. Singleton means
the same thing. And DI is recommended way to implement Singleton.
【在 y*******g 的大作中提到】 : 能详细谈谈原因吗? 或者什么reference 可以看看。 : : off : field
|