[size=medium]我们经常会写一些util,helper类,
而一般这些类的方法都静态的,这在许多时候是很方便的
但是需要注意在可能的多线程环境下,
这些类尽量不要有属性字段, 如果确定要有(这在有时候也很有用),
要保证在方法中不修改这个属性字段的值,
不然在多线程环境下可能造成线程意外的相互影响,
还可以使用final修饰这个属性字段使其不可变,
就像我们经常使用的:
private final static Logger logger...
如果需要使用属性字段,而且又可能要改变它的值,最好就不要使用静态类方法了.
[/size]
而一般这些类的方法都静态的,这在许多时候是很方便的
但是需要注意在可能的多线程环境下,
这些类尽量不要有属性字段, 如果确定要有(这在有时候也很有用),
要保证在方法中不修改这个属性字段的值,
不然在多线程环境下可能造成线程意外的相互影响,
还可以使用final修饰这个属性字段使其不可变,
就像我们经常使用的:
private final static Logger logger...
如果需要使用属性字段,而且又可能要改变它的值,最好就不要使用静态类方法了.
[/size]
本文探讨了在多线程环境中使用静态方法时应注意的问题,特别是如何避免因修改静态属性而导致的线程间意外影响。建议使用final修饰符保持属性不变性,并在必要时考虑非静态方法。
2599

被折叠的 条评论
为什么被折叠?



