spring管理struts2对象,管理成单例对象纠结的问题

问题描述

需求:1>为了满足性能测试需求,不能用struts2原有的多例对象,必须单例对象2>用spring管理struts2对象,而且要单例我就纠结了,不管spring 怎么管理struts2对象都行,非要单例。单例对象怎么能满足大并发量请求的问题?难道spring容器会造struts2对象的副本,有spring容易自动管理内存?从性能测试角度,是单例的好,很省内存。但从大并发请求考虑,我还是觉得struts2原有的方式不错。

解决方案

Spring 自动默认并且推荐也是单例!引用难道spring容器会造struts2对象的副本,有spring容易自动管理内存? 代理类是会生成的,并且对并发这块也会有相应的措施(比如: ThreadLocal),不然 Spring自己怎么处理并发呢!另外 1.0 如果不是特别大的系统,并发这块基本不需要考虑! 2.0 单例 多例 占 内存也不会有很大的影响,现在内存很便宜的!

时间: 2024-11-08 22:25:32

spring管理struts2对象,管理成单例对象纠结的问题的相关文章

关于Java单例对象同步问题

单例对象(Singleton)是一种常用的设计模式.在Java应用中,单例对象能保证在一个JVM中,该对象只有一个实例存在.正是由于这个特点,单例对象通常作为程序中的存放配置信息的载体,因为它能保证其他对象读到一致的信息.例如在某个服务器程序中,该服务器的配置信息可能存放在数据库或文件中,这些配置数据由某个单例对象统一读取,服务进程中的其他对象如果要获取这些配置信息,只需访问该单例对象即可.这种方式极大地简化了在复杂环境下,尤其是多线程环境下的配置管理,但是随着应用场景的不同,也可能带来一些同步

java对象转成JSON串对象丢失

问题描述 java对象转成JSON串对象丢失 将一个java对象转成JSON字符串时,对象的一个属性丢失,求大神指导!!!! 解决方案 java 对象转 json串java嵌套对象转成jsonjava 将json字串转成复杂对象 解决方案二: 也许你定义的对象就是少了一个属性 解决方案三: 理论上是不会丢失的,是不是属性字段单词写错了? 解决方案四: 用jsonobject试试,将java对象转换为json字符串先将java对象转换为json对象,在将json对象转换为json字符串JSONOb

spring管理的单例对象内部如果有字段类型那么是否有线程安全问题

问题描述 service层,dao层默认都是单例的.而且我看到资料上说,这种单例实际上是用threadlocal实现的,而这种技术是一个线程复制了一个特殊的副本来实现单例模式,用完再回收,那么是不是可以说,如果service层和dao层有定义一些字段,这些字段会在使用的时候产生多线程安全问题? 解决方案 {这种单例实际上是用threadlocal实现的,而这种技术是一个线程复制了一个特殊的副本来实现单例模式,用完再回收} 你这个地方的描述就是错的.在Spring容器当中管理的对象默认都是单例模式

Spring中单例bean访问非单例bean的第一种方式:方法注入

方法注入在Spring中是很少用的,主要应用是, 对象中可能定义了一个受保 护的抽象方法,而容器可能在运行时实现他以返回由容器查询得到的对象. 方法注入的最好用途之一就是处理单态.无状态对象需要调用非单态.有状 态或者非线程安全对象的情况. 以前刚接触Spring时,如果在单例bean中调用非单例bean,只要把那个非单 例bean 的singleton设置为false就可以了.其实不然,大家想,我们创建了一 个单例对象,在此单例对象中所用到的其它bean也只会创建一次--(大多数情 况是这样的

【Spring实战】—— 3 使用facotry-method创建单例Bean总结

如果有这样的需求: 1 不想再bean.xml加载的时候实例化bean,而是想把加载bean.xml与实例化对象分离. 2 实现单例的bean 以上的情况,都可以通过工厂方法factory-method来创建bean. 这样再加载bean.xml时,不会直接实例化bean,而是当调用factory-method所指的方法时,才开始真正的实例化. 首先看一下传统的单例模式的实现方式: 1 最原始的实现单例模式的方法(存在线程不安全): public class SingletonOne { pri

【java设计模式】之 单例(Singleton)模式

1. 单例模式的定义         单例模式(Singleton Pattern)是一个比较简单的模式,其原始定义如下:Ensure a class has only one instance, and provide a global point of access to it. 即确保只有一个实例,而且自行实例化并向整个系统提供这个实例.单例模式的通用类如下图所示:         Singleton类称为单例类,通过使用private的构造函数确保了在一个应用中只产生一个实例,并且是自行

spring-一个关于单例和线程的问题

问题描述 一个关于单例和线程的问题 Spring的bean 默认是单例的也就是说每次请求获取的bean都是同一个 验证hashCode也确实是相等的. @Autowired private TestBean testBean; @RequestMapping(""test1.html"") public @ResponseBody String test1() throws InterruptedException { testBean.test(); return

IOS 单例设计模式解读

IOS 中单例设计模式的解读与用法 一.单例的作用       顾名思义,单例,即是在整个项目中,这个类的对象只能被初始化一次.它的这种特性,可以广泛应用于某些需要全局共享的资源中,比如管理类,引擎类,也可以通过单例来实现传值.UIApplication.NSUserDefaults等都是IOS中的系统单例. 二.单例的写法        单例的写法常用的有两种方式:        方式1.不考虑线程 ? 1 2 3 4 5 6 7 8 static SingleCase *manager = 

java的单例、static修饰符及static的继承

单例设计模型: static修饰符: ①:static静态只有一份(同一个虚拟机中) (节省资源),类代码被装载内存时,静态代码分配内存,并执行,并且常驻内存. 可参考:类加载顺序 ②:Static修饰成员变量,成为"类变量",属于整个类,类的共享变量.注:不能修饰局部变量.          static是一块为整个类共有一块存储区域,静态变量只有一份,值变化后,所有访问值变化生效.          java中用类名调用static变量和方法(对象调用也可以):类名.变量(方法名)