http://www.iteye.com/topic/960532
猎头职位:
我相信有不少人还不明白有状态和无状态(Stateful and Stateless)的概念,那么我们今天就来谈谈有状态和无状态,一方面不断总结提高自我,另一方面兼扫盲。这是Immutable不变模式的姐妹篇,大家可以参照着读。
Immutable不变模式的分析blog: http://www.iteye.com/topic/959751
基本概念:
有状态就是有数据存储功能。有状态对象(Stateful Bean),就是有实例变量的对象,可以保存数据,是非线程安全的。在不同方法调用间不保留任何状态。
无状态就是一次操作,不能保存数据。无状态对象(Stateless Bean),就是没有实例变量的对象.不能保存数据,是不变类,是线程安全的。
代码更好理解:
- /**
- * 有状态bean,有state,user等属性,并且user有存偖功能,是可变的。
- *
- * @author Peter Wei
- *
- */
- public class StatefulBean {
- public int state;
- // 由于多线程环境下,user是引用对象,是非线程安全的
- public User user;
- public int getState() {
- return state;
- }