这个概念在多线程中一直被提及,实际上很简单。
1.有状态就是有数据存储功能
。有状态对象(Stateful Bean)
,就是有实例变量的对象,可以保存数据,是非线程安全
的。在不同方法调用间不保留任何状态。
2.无状态就是一次操作,不能保存数据
。无状态对象(Stateless Bean)
,就是没有实例变量的对象
,不能保存数据,是不变类,是线程安全的。
3.引用无状态的对象,则自己也可以是线程安全的
public class StatelessBeanService {
// 虽然有billDao属性,但billDao是没有状态信息的,是Stateless Bean.
BillDao billDao;
}