1. 无状态
类里没有成员变量,只有方法。
方法体中的变量对于每个线程都是私有的不共享的,因此,能定义在方法中的变量决不定义在类中。
2. 加锁
3. 让类不可变
final修饰成员变量。
4. 成员变量安全发布
例如:class{List list = new ArrayList();},尽量不要提供getList获取整个list的方法,实在要提供,尽量通过index或者key等元素来获取value。
1. 无状态
类里没有成员变量,只有方法。
方法体中的变量对于每个线程都是私有的不共享的,因此,能定义在方法中的变量决不定义在类中。
2. 加锁
3. 让类不可变
final修饰成员变量。
4. 成员变量安全发布
例如:class{List list = new ArrayList();},尽量不要提供getList获取整个list的方法,实在要提供,尽量通过index或者key等元素来获取value。