stateful vs stateless vs Immutable

问题描述

有状态就是有数据存储功能。有状态对象(StatefulBean),就是有实例变量的对象,可以保存数据,是非线程安全的。在不同方法调用间不保留任何状态。无状态就是一次操作,不能保存数据。无状态对象(StatelessBean),就是没有实例变量的对象.不能保存数据,是不变类,是线程安全的。问题是无状态是没有实例变量如果存在静态变量也是无状态模式吗比如classDemo{staticintticket=123;publicvoidbuyTicket(){//dosomething}}

根据《JAVA并发编程实战》说无状态模式一定是线程安全的?这个不对啊Demo这个类是一个ThreadNOtSafe的类啊这是为什么是我理解的不对吗对大神指导!!!!参考:

解决方案

解决方案二:
木有人吗
解决方案三:
无状态是指没有属性变量吧,也包含静态变量吧

时间: 2024-12-22 21:20:18

stateful vs stateless vs Immutable的相关文章

2016美国QCon观察:容器与调度这么热,未来会是怎样的一个趋势?

编者按:今年QCon容器/Docker和微服务几乎占据了会场的半壁江山,大家也都趋之若鹜场场爆满,而且作为一名云计算工程师,对容器/Docker也是格外关注,容器/Docker已经不仅仅是个技术,而是作为一个生态在深刻影响着每一个细分行业,对于每个行业既是机会也是挑战,稍有不慎可能就会被时代抛弃.作为与会者现场聆听大家对容器/Docker的思考和应用,并逐步廓清现状和未来,与大家共同学习.     容器(Container)是近些年迅速火热的一门技术和话题,容器技术本身和在容器之上衍生的资源编排

Java规则引擎与其API应用详解

详解 本文对Java规则引擎与其API(JSR-94)及相关实现做了较详细的介绍,对其体系结构和API应用有较详尽的描述,并指出Java规则引擎,规则语言,JSR-94的相互关系,以及JSR-94的不足之处和展望 本文对Java规则引擎与其API(JSR-94)及相关实现做了较详细的介绍,对其体系结构和API应用有较详尽的描述,并指出Java规则引擎,规则语言,JSR-94的相互关系,以及JSR-94的不足之处和展望 复杂企业级项目的开发以及其中随外部条件不断变化的业务规则(business l

前进:从EJB 2.1到EJB 3.0

在开始讨论怎样从EJB 2.1迁移到EJB 3.0之前,有必要先了解一下迁移之后将会得到什么:主要来说,EJB 3.0减少了在创建EJB时所需的类.接口.部署描述符的数量.EJB 3.0通过用纯旧式Java对象(POJO)取代抽象bean类,用纯旧式Java接口(POJI)取代组件与主接口(Component & Home),简化了EJB的开发过程,在此,后者是可选项--你不必全部包含进它们. 部署描述符--ejb-jar.xml--由其指定了EJB名.bean对象名.接口.查找者方法.容器管理

J2EE deployment files (ejb-jar.xml)

j2ee|xml <ejb-jar> The ejb-jar element is the root element of the EJB deployment descriptor. It contains an optional description of the ejb-jar file, optional display name, optional small icon file name, optional large icon file name, mandatory stru

J2EE deployment files(ejb-jar2.0.xml)

j2ee|xml <ejb-jar> The ejb-jar element is the root element of the EJB deployment descriptor. It contains an optional description of the ejb-jar file, optional display name, optional small icon file name, optional large icon file name, mandatory stru

J2EE Enterprise Beans(原文)

enterprise|j2ee Enterprise beans are the J2EE components that implement Enterprise JavaBeans (EJB) technology. Enterprise beans run in the EJB container, a runtime environment within the J2EE server (see Figure 1-5). Although transparent to the appli

项目ITP(六) spring4.0 整合 Quartz 实现动态任务调度

正文  spring4.0 整合 Quartz 实现任务调度.这真是期末项目的最后一篇,剩下到暑假吧.    Quartz 介绍   Quartz is a full-featured, open source job scheduling service that can be integrated with, or used along side virtually any Java application - from the smallest stand-alone applicatio

Spring 3整合Quartz 2实现定时任务(转)

http://www.meiriyouke.net/?p=82 最近工作中需要用到定时任务的功能,虽然Spring3也自带了一个轻量级的定时任务实现,但感觉不够灵活,功能也不够强大.在考虑之后,决定整合更为专业的Quartz来实现定时任务功能. 首先,当然是添加依赖的jar文件,我的项目是maven管理的,以下的我项目的依赖: <dependencies> <dependency> <groupId>org.springframework</groupId>

Spring 3整合Quartz 2实现定时任务二:动态添加任务

前面,我们已经对Spring 3和Quartz 2用配置文件的方式进行了整合,如果需求比较简单的话应该已经可以满足了.但是很多时候,我们常常会遇到需要动态的添加或修改任务,而spring中所提供的定时任务组件却只能够通过修改xml中trigger的配置才能控制定时任务的时间以及任务的启用或停止,这在带给我们方便的同时也失去了动态配置任务的灵活性.我搜索了一些网上的解决方法,都没有很好的解决这个问题,而且大多数提到的解决方案都停留在Quartz 1.x系列版本上,所用到的代码和API已经不能适用于