springmvc是单例的,开发的时候会不会影响性能呢?

记忆朦胧忧伤 2014-08-29 04:40:16
我一直觉得单例的话不会各种的new对象,开辟空间,觉得这样会对性能有帮助,但是最近突然想到,高并发或者PV量比较大的时候会不会影响性能呢?
...全文
11025 17 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
NewshiJ 2016-11-29
  • 打赏
  • 举报
回复
讲了半天我还是服threadlocal的说法,这个才是说到点子上了
csdn_笑看人生 2015-11-20
  • 打赏
  • 举报
回复
学习中~~~~~~~
Bonsour 2015-11-05
  • 打赏
  • 举报
回复
引用 3 楼 shijing266 的回复:
[quote=引用 2 楼 a75833596 的回复:] [quote=引用 1 楼 shijing266 的回复:] 肯定有影响的,你想想,单例顾名思义:一个个排队过... 高访问量的时候,你能想象服务器的压力了... 而且用户体验也不怎么好,等待太久~
struts2默认是多利的,但我们开发的时候非得加个scope 设置成单例的,为什么呢? 一直搞不明白。。。[/quote] 有么,我怎么所理解的 默认的是scope="singleton" 至于这个,给你看个东东http://blog.csdn.net/peng658890/article/details/7233718[/quote] 真是误人子弟啊,不懂不要瞎说。struts2中之所以使用@scope("prototype"),是因为spring是单例的,而struts2中的Action是从spring的IOC容器中去取的。所以,spring配置的Action默认也是单例的,所以要用@scope("prototype")将这个action转换为多例。
好尴尬啊 2015-08-06
  • 打赏
  • 举报
回复
楼主的意思是 spring 创建的单例对象,执行单例对象的方法 是否 需要挨个执行 。
老码不识途 2014-12-14
  • 打赏
  • 举报
回复
没使用锁,有没竟争资源,怎么会影响性能呢?对吧。
dxqrr 2014-08-31
  • 打赏
  • 举报
回复
单例不会影响性能的,但要注意线程安全
HinanaiTenshi 2014-08-29
  • 打赏
  • 举报
回复
总的来说就是,单利模式因为大大节省了实例的创建和销毁,有利于提高性能,而ThreadLocal用来保证线程安全性。
HinanaiTenshi 2014-08-29
  • 打赏
  • 举报
回复
引用 9 楼 a75833596 的回复:
[quote=引用 6 楼 HinanaiTenshi 的回复:] 另外补充说一句,单例模式是spring推荐的配置,它在高并发下能极大的节省资源,提高服务抗压能力。spring IOC的bean管理器是“绝对的线程安全”。
好像有点明白了,是不是ThreadLocal来解决单例对性能的影响?[/quote] 用ThreadLocal是为了保证线程安全,实际上ThreadLoacal的key就是当前线程的Thread实例。 单例模式下,spring把每个线程可能存在线程安全问题的参数值放进了ThreadLocal。这样虽然是一个实例在操作,但是不同线程下的数据互相之间都是隔离的, 因为运行时创建和销毁的bean大大减少了,所以大多数场景下这种方式对内存资源的消耗较少,而且并发越高优势越明显。
记忆朦胧忧伤 2014-08-29
  • 打赏
  • 举报
回复
引用 6 楼 HinanaiTenshi 的回复:
另外补充说一句,单例模式是spring推荐的配置,它在高并发下能极大的节省资源,提高服务抗压能力。spring IOC的bean管理器是“绝对的线程安全”。
好像有点明白了,是不是ThreadLocal来解决单例对性能的影响?
  • 打赏
  • 举报
回复
引用 6 楼 HinanaiTenshi 的回复:
另外补充说一句,单例模式是spring推荐的配置,它在高并发下能极大的节省资源,提高服务抗压能力。spring IOC的bean管理器是“绝对的线程安全”。
说的好,我理解错误~
记忆朦胧忧伤 2014-08-29
  • 打赏
  • 举报
回复
引用 5 楼 HinanaiTenshi 的回复:
[quote=引用 3 楼 shijing266 的回复:] [quote=引用 2 楼 a75833596 的回复:] [quote=引用 1 楼 shijing266 的回复:] 肯定有影响的,你想想,单例顾名思义:一个个排队过... 高访问量的时候,你能想象服务器的压力了... 而且用户体验也不怎么好,等待太久~
struts2默认是多利的,但我们开发的时候非得加个scope 设置成单例的,为什么呢? 一直搞不明白。。。[/quote] 有么,我怎么所理解的 默认的是scope="singleton" 至于这个,给你看个东东http://blog.csdn.net/peng658890/article/details/7233718[/quote] 这个作者连spring的文档都没看过,对spring的理解也完全是错误的,并且肯定没有读过spring的源码。 Java里有个API叫做ThreadLocal,spring单例模式下用它来切换不同线程之间的参数。[/quote] 没读过源码的说。。。
HinanaiTenshi 2014-08-29
  • 打赏
  • 举报
回复
另外补充说一句,单例模式是spring推荐的配置,它在高并发下能极大的节省资源,提高服务抗压能力。spring IOC的bean管理器是“绝对的线程安全”。
HinanaiTenshi 2014-08-29
  • 打赏
  • 举报
回复
引用 3 楼 shijing266 的回复:
[quote=引用 2 楼 a75833596 的回复:] [quote=引用 1 楼 shijing266 的回复:] 肯定有影响的,你想想,单例顾名思义:一个个排队过... 高访问量的时候,你能想象服务器的压力了... 而且用户体验也不怎么好,等待太久~
struts2默认是多利的,但我们开发的时候非得加个scope 设置成单例的,为什么呢? 一直搞不明白。。。[/quote] 有么,我怎么所理解的 默认的是scope="singleton" 至于这个,给你看个东东http://blog.csdn.net/peng658890/article/details/7233718[/quote] 这个作者连spring的文档都没看过,对spring的理解也完全是错误的,并且肯定没有读过spring的源码。 Java里有个API叫做ThreadLocal,spring单例模式下用它来切换不同线程之间的参数。
记忆朦胧忧伤 2014-08-29
  • 打赏
  • 举报
回复
引用 3 楼 shijing266 的回复:
[quote=引用 2 楼 a75833596 的回复:] [quote=引用 1 楼 shijing266 的回复:] 肯定有影响的,你想想,单例顾名思义:一个个排队过... 高访问量的时候,你能想象服务器的压力了... 而且用户体验也不怎么好,等待太久~
struts2默认是多利的,但我们开发的时候非得加个scope 设置成单例的,为什么呢? 一直搞不明白。。。[/quote] 有么,我怎么所理解的 默认的是scope="singleton" 至于这个,给你看个东东http://blog.csdn.net/peng658890/article/details/7233718[/quote] 受教了! 有个朋友说springmvc做电商项目比struts2性能好,单例的影响会不会很大呢?
  • 打赏
  • 举报
回复
引用 2 楼 a75833596 的回复:
[quote=引用 1 楼 shijing266 的回复:] 肯定有影响的,你想想,单例顾名思义:一个个排队过... 高访问量的时候,你能想象服务器的压力了... 而且用户体验也不怎么好,等待太久~
struts2默认是多利的,但我们开发的时候非得加个scope 设置成单例的,为什么呢? 一直搞不明白。。。[/quote] 有么,我怎么所理解的 默认的是scope="singleton" 至于这个,给你看个东东http://blog.csdn.net/peng658890/article/details/7233718
记忆朦胧忧伤 2014-08-29
  • 打赏
  • 举报
回复
引用 1 楼 shijing266 的回复:
肯定有影响的,你想想,单例顾名思义:一个个排队过... 高访问量的时候,你能想象服务器的压力了... 而且用户体验也不怎么好,等待太久~
struts2默认是多利的,但我们开发的时候非得加个scope 设置成单例的,为什么呢? 一直搞不明白。。。
  • 打赏
  • 举报
回复
肯定有影响的,你想想,单例顾名思义:一个个排队过... 高访问量的时候,你能想象服务器的压力了... 而且用户体验也不怎么好,等待太久~
内容概要:本文档详细介绍了SpringMVC的核心概念、工作原理及其与Struts2的对比。首先解释了SpringMVC作为Spring框架的一部分,基于MVC架构模式,具有组件化、视图技术灵活性、易扩展性等特点。接着阐述了SpringMVC的工作流程,包括请求从客户端发出到最终响应返回的整个过程,涉及DispatcherServlet、HandlerMapping、HandlerAdapter、Controller、ModelAndView、ViewResolver等关键组件的作用。文档还讨论了SpringMVC控制器的单例模式及其潜在问题,以及如何通过参数解析、注解(如@RequestMapping)、ModelAndView对象等方式实现前后端交互。此外,文档对比了SpringMVC与Struts2在入口机制、开发模式、参数传递等方面的差异。最后,文档提及了SpringMVC与AJAX的集成方式,以及如何配置和使用拦截器。 适合人群:有一定Java Web开发经验,特别是熟悉Spring框架的开发人员,以及准备面试相关岗位的技术人员。 使用场景及目标:①帮助开发者深入理解SpringMVC的工作机制,提高对Web应用开发的掌控能力;②为面试准备提供参考,掌握常见面试题及其解答思路;③指导开发者如何优化SpringMVC应用的性能和安全性。 阅读建议:本文档内容较为详尽,建议读者结合实际项目经验进行学习,重点理解各组件之间的协作关系,同时关注SpringMVC与其他框架(如Struts2)的区别,以便更好地应对不同场景下的技术选型和技术难题。

67,550

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧