一种是传统的有状态(stateful,典型代表就是与IPv4时代相对应的DHCPv6;
一种是IPv6的无状态(stateless)自动配置,典型代表是Radvd。这是IPv6协议的一个突出特点,支持网络节点的地址自动配置。
有状态就是有数据存储功能。有状态对象(Stateful Bean),就是有实例变量的对象 ,可以保存数据,是非线程安全的。在不同方法调用间不保留任何状态。
无状态就是一次操作,不能保存数据。无状态对象(Stateless Bean),就是没有实例变量的对象 .不能保存数据,是不变类,是线程安全的。
在无状态地址自动配置方式下,网络接口接收路由器宣告的全局地址前缀,再结合接口ID得到一个可聚集全局单播地址。在有状态地址自动配置的方式下,主要采用动态主机配置协议(DHCP),需要配备专门的DHCP服务器,网络接口通过客户机/服务器模式从DHCP服务器处得到地址配置信息。
单例模式中的有状态和无状态:
单例类可以是有状态的(stateful),一个有状态的单例对象一般也是可变(mutable)单例对象 。 有状态的可变的单例对象常常当做状态库(repositary)使用。比如一个单例对象TaskCache(Spring中配为singleton)可以持有一个AtomicLong类型的属性,用来给一个系统提供一个数值惟一的序列号码,作为任务通迅管理的ID生成器。同时,一个单例类也可以持有一个聚集,从而允许存储多个状态。
Spring中的有状态和无状态:
1.无状态的Bean适合用不变模式,技术就是单例模式,这样可以共享实例,提高性能。有状态的Bean,多线程环境下不安全,那么适合用Prototype原型模式。Prototype: 每次对bean的请求都会创建一个新的bean实例。
2.默认情况下,从Spring bean工厂所取得的实例为singleton(scope属性为singleton),容器只存在一个共享的bean实例。
3.有状态的bean都使用prototype作用域,而对无状态的bean则应该使用singleton作用域。
Stateless无状态用单例Singleton模式,Stateful有状态就用原型Prototype模式。
西部数码网站提供IPv6转换服务,无需改造现有架构,即可快速让现有IPv4业务系统具备IPv6终端和用户访问能力。经济高效、广泛适用,业务开通链接 https://www.west.cn/cloudhost/ipv6.asp