有状态和无状态

无状态对象

  1. 用于处理逻辑, 而不是持有数据
  2. 把数据从一个有状态对象处理后传输到另一个有状态对象
  3. 属性和字段都是临时的, 不共享, 无需持久化
  4. 使用时随时创建, 随时丢弃

有状态对象

  1. 持用数据
  2. 共享
  3. 需要持久化
  4. 保持内部数据一致
  5. 版本, 身份, 值比较, HashCode
  6. 数据访问: 遍历, 查找, 排序
  7. 数据变化事件
时间: 2024-12-11 07:56:43

有状态和无状态的相关文章

Java深度历险(二) EJB Session Bean有状态和无状态的区别与联系

刚开始对两种sessionbean存在误解,认为有状态是实例一直存在,保存每次调用后的状态,并对下一次调用起作用,而认为无状态是每次调用实例化一次,不保留用户信息.仔细分析并用实践检验后,会发现,事实恰好相反:有状态和无状态会话bean的本质区别是它们的生命期. 首先解释一个下面要用到的概念--用户:sessionbean 的用户实际上就是直接调用ejb的类的实例,甚至是这个实例的某个方法.同一个类的不同实例对于session bean来说是不同的用户. 实例解析 有状态的StatefulEjb

精通有状态vs无状态(Stateful vs Stateless)—Immutable模式之姐妹篇

我相信有不少人还不明白有状态和无状态(Stateful and Stateless)的概念,那么我们今天就来谈谈有状态和无状态,一方面不断总结提高自我,另一方面兼扫盲.这是Immutable不变模式的姐妹篇,大家可以参照着读. Immutable不变模式的分析blog: http://www.iteye.com/topic/959751 基本概念: 有状态就是有数据存储功能.有状态对象(Stateful Bean),就是有实例变量的对象,可以保存数据,是非线程安全的.在不同方法调用间不保留任何状

聊聊系统设计:有状态、无状态

网站登录校验,很普通的一个功能 对于这个功能我们要如何实现? 先分析一下登录校验是个啥意思 举个栗子,比如我们在登陆页输入用户名密码,登录了社交网站 这时候想去看自己的新鲜事,却告诉我请先输入用户名密码进行验证.. 这时候想去吐槽下这个2B体验,发个新鲜事,点完发布按钮时,又弹出框说请输入用户名密码进行验证...这时候脑子里上千个草泥马奔腾而过 这样的产品可以说拜拜了 对我们的用户来说,登录操作其实完成一次就够了,后续的操作服务应该能够自动识别出是这个合法用户 因此,我们就需要对用户的状态进行记

IPv6系列-彻底弄明白有状态与无状态配置IPv6地址

深入研究自动分配IPv6地址的Stateless(无状态)与Stateful(有状态)方式 小慢哥的原创文章,欢迎转载 目录 ? 一. Link-Local Address的生成方式 ? 二. Global Address的生成方式 ? 三. RA报文中3个关键的Flag ? 四. 流程示意图 ? 五. 测试获得IP效果 ? 六. 应用场景(选择无状态还是有状态) ? 七. 后续内容 ? 附. 参考文档 一. Link-Local Address的生成方式 生成"链路本地地址",有2种

有状态 Vs 无状态

公司物联网项目集成Orleans以支持高并发的分布式业务,对于Orleans也是第一次接触,本文就分享下个人对Orleans的理解. 这里先抛出自己的观点:Orleans 是一个支持有状态云生应用/服务水平伸缩的基于Virtual Actor 模型的.NET分布式框架. 下面我会从以下几个关键点,进行阐述: 云生应用的挑战 何为有状态/无状态 什么是 Actor 模型 什么是 Virtual Actor 模型 云生应用的挑战 在讲云生应用之前,我们来先讲讲传统应用,对于传统应用常用的三层结构如下

有状态、无状态(Stateful and Stateless)

我相信有不少人还不明白有状态和无状态(Stateful and Stateless)的概念,那么我们今天就来谈谈有状态和无状态,一方面不断总结提高自我,另一方面兼扫盲.这是Immutable不变模式的姐妹篇,大家可以参照着读. Immutable不变模式的分析blog: http://www.iteye.com/topic/959751 基本概念: 有状态就是有数据存储功能.有状态对象(Stateful Bean),就是有实例变量的对象,可以保存数据,是非线程安全的.在不同方法调用间不保留任何状

HTTP协议是无状态协议,怎么理解?

 Http是一个无状态协议,同一个会话的连续两个请求互相不了解,他们由最新实例化的环境进行解析,除了应用本身可能已经存储在全局对象中的全部信息外,该环境不保存与会话有关的不论什么信息. 自己的理解,在asp.net里:每次提交server的页面没有不论什么关系,每次记录在页面的信息下次提交是记不住的,(除了应用本身可能已经存储在全局对象中的全部信息外)在.net里实际就是ViewState,ViewState是asp.net中保存页面信息的基本单位,应用时就是保存在控件隐藏域等中的数据 协议的状

EJB通过ANT提高EJB应用的开发效率、开发具有本地接口的无状态bean、开发有状态bean

把jboss集成进eclipse 关闭Jboss控制台按Ctrl+c,在MyEclipse→Servers→Jboss里面可以配置JBoss. 通过ANT提高EJB应用的开发效率 在HelloWorld 加入ANT,右击项目新建xml:build.xml,右击打开方式选择Ant .. 对应用进行编译.打包.发布.解发布 <?xml version="1.0" encoding="UTF-8"?> <!--basedirz项目所在路径,.代表在bui

EJB通过ANT提高EJB应用程序的开发效率、无状态发展本地接口bean、开发状态bean

该jboss集成到eclipse 关掉Jboss控制台新闻Ctrl+c,在MyEclipse→Servers→Jboss可配置JBoss. 通过ANT提高EJB应用的开发效率 在HelloWorld 增加ANT,右击项目新建xml:build.xml,右击打开方式选择Ant .. 相应用进行编译.打包.公布.解公布 <? xml version="1.0" encoding="UTF-8"? > <!--basedirz项目所在路径,.代表在bui