无状态bean和有状态bean使用的管理技术是不同的
1.无状态bean使用实例池技术管理bean
2.有状态bean使用激活(activation)管理bean
有状态bean要为每一个状态用户创建bean实例,只能被它使用.大型应用可能有很多用户,如果不使用任何的优化的话,那么缓存在内存里的bean实例就会很多,影响性能,在实际应用中,有些任务是这样的:它用了之后可能有很长一段时间不用了,或者后面才用,所以使用激活管理bean,当bean在一段时间 内不被使用的时候,它的会话信息会保存到磁盘里面去,如果在这个缓存的时间内用户在发起对bean的请求,这时磁盘上面的会话信息又被还原到内存里面为用户服务.两个过程:一个是把会话信息存到磁盘上,第二个是把会话信息又还原到内存,这个过程叫激活过程.
无状态bean用注解@Stateless
有状态bean用注解:@Stateful