Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >面试官:Spring MVC 如何保证 Controller 的并发安全性?面试必问!

面试官:Spring MVC 如何保证 Controller 的并发安全性?面试必问!

作者头像
用户1263954
发布于 2022-05-23 07:56:08
发布于 2022-05-23 07:56:08
3540
举报
文章被收录于专栏:IT技术精选文摘IT技术精选文摘

若有收获,请记得分享和转发哦

单例模式(Singleton)是程序设计中一种非常重要的设计模式,设计模式也是Java面试重点考察的一个方面。

面试经常会问到的一个问题是:SpringMVC中的Controller是单例还是多例,很多同学可能会想当然认为Controller是多例,其实不然。

以上代码运行以后,每次请求 http:// localhost:8080 / addNum , 得到的结果都是1。

更严格的做法是用AtomicInteger类型定义成员变量,对于成员变量的操作使用AtomicInteger的自增方法完成。

总的来说,还是尽量不要在 Controller 中定义成员变量为好。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-05-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 IT技术精选文摘 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
SpringMVC:如何保证Controller的并发安全?
单例模式(Singleton)是程序设计中一种非常重要的设计模式,设计模式也是Java面试重点考察的一个方面。面试经常会问到的一个问题是:SpringMVC中的Controller是单例还是多例,很多同学可能会想当然认为Controller是多例,其实不然。
会呼吸的Coder
2021/10/14
1.7K0
面试官:Spring创建好的单例对象存在线程安全问题吗?
这是我在一次面试中被问到过的问题,但是当时我回答的并不是太好,最近在学习多线程知识的时候又对这个问题有了新的理解,所以这篇文章主要讲解下我对个问题的理解。
架构师修炼
2021/08/13
1.1K0
Spring的Controller是单例还是多例?怎么保证并发的安全
来源:http://blog.csdn.net/riemann_/article/details/97698560
路人甲Java
2020/09/30
1.6K0
面试官:Spring 的 Controller 是单例还是多例?怎么保证并发的安全
controller默认是单例的,不要使用非静态的成员变量,否则会发生数据逻辑混乱。正因为单例所以不是线程安全的。
终码一生
2022/04/14
1K0
Spring的Controller是单例还是多例?怎么保证并发的安全
我们首先访问 http://localhost:8080/testScope,得到的答案是1。
业余草
2020/08/20
9301
Spring 的 Controller 是单例还是多例?怎么保证并发的安全
来源:blog.csdn.net/riemann_/article/details/97698560
用户5224393
2020/09/14
5830
Spring 的 Controller 是单例还是多例?怎么保证并发的安全
controller默认是单例的,不要使用非静态的成员变量,否则会发生数据逻辑混乱。正因为单例所以不是线程安全的。
Java技术江湖
2020/08/21
6950
面试官所认为的单例模式
单例模式是23种GOF模式中最简单,也是最经常出现的一种设计模式,也是面试官最常爱考的一种模式,为什么呢? 因为单例模式足够简单,编写一个单例模式代码几分钟就能搞定,所以设计模式中面试官通常会选取单例模式作为出题。 下面把单例模式分几个点,分别说说哪些地方面试官能考你?
用户5397975
2019/10/14
5430
【百面成神】spring基础12问,你能坚持到第几问
源码:spring的底层大量运用反射、设计模式等,其源码也是不可多得的宝贵学习资料。
半旧518
2023/10/17
2140
【百面成神】spring基础12问,你能坚持到第几问
Spring5系列(六) | Controller到底线程安全么
本篇文章比较简单,主要介绍下关于对象的scope, 其实一直有一道比较经典的面试题,问的是springMVC中的Controller是单例的么?我们就从这道题来引申出来。
一缕82年的清风
2021/12/06
4790
Java-volatile-面试官最喜欢问的关键字之一
 在Java相关的岗位面试中,很多面试官都喜欢考察面试者对Java并发的了解程度,而以 volatile关键字作为一个小的切入点,往往可以一问到底,把Java内存模型(JMM),Java并发编程的一些特性都牵扯出来,深入地话还可以考察 JVM底层实现以及操作系统的相关知识。下面我们以一次假想的面试过程,来深入了解下 volitile关键字吧!
Fisherman渔夫
2020/02/18
7360
Java-volatile-面试官最喜欢问的关键字之一
SpringBean默认是单例的,高并发情况下,如何保证并发安全?
Spring的bean默认都是单例的,某些情况下,单例是并发不安全的,以Controller举例,问题根源在于,我们可能会在Controller中定义成员变量,如此一来,多个请求来临,进入的都是同一个单例的Controller对象,并对此成员变量的值进行修改操作,因此会互相影响,无法达到并发安全(不同于线程隔离的概念,后面会解释到)的效果。
好好学java
2021/07/05
2K0
并发编程进阶一:从“并发引发的潜在问题”开始
熟悉之处在于:对于一些有一定经验的读者,在面试过程中经常会被问到多线程、高并发的技术解决方案。
浩说编程
2021/08/17
2330
并发编程进阶一:从“并发引发的潜在问题”开始
大厂必问的Spring面试题
最近抽空将Spring常见的面试题总结了一下,分享给大家~(找工作的小伙伴赶紧刷起来!)
程序员大彬
2022/01/04
6340
真肝,整理了一周的Spring面试大全【含答案】,吊打Java面试官[通俗易懂]
对于Java的小伙伴来说,Spring是面试的必问环节,我研究Spring多年,甚至我的网名都叫SpringMeng。
全栈程序员站长
2022/09/02
5170
真肝,整理了一周的Spring面试大全【含答案】,吊打Java面试官[通俗易懂]
当我把chatGPT作为Java面试官,它问了我这些问题
面试者:非常感谢,我是一名资深Java开发工程师,具有丰富的Java开发经验。我在过去的五年里,主要从事了企业级Java应用的设计、开发和维护工作。我熟悉Java语言的语法、面向对象编程(OOP)原则以及常用的设计模式,并且具备较强的项目开发和团队协作能力。
小熊学Java
2023/07/16
4160
当我把chatGPT作为Java面试官,它问了我这些问题
Spring 单例 Bean 与多线程深度分析
Spring 的 bean默认是单例的,在高并发下,如果在 Spring 的单例 bean 中设置成员变量,则会发生并发问题。最近在进行开发时,错误的在单例的bean中使用了成员变量,导致多个线程大并发访问时,出现赋值错误及日志打印混乱的问题。
一个会写诗的程序员
2022/01/07
2.7K0
Spring 单例 Bean 与多线程深度分析
spring和springMVC的面试问题总结
1.Spring中AOP的应用场景、Aop原理、好处? 答:AOP--Aspect Oriented Programming面向切面编程;用来封装横切关注点,具体可以在下面的场景中使用: Authentication 权限、Caching 缓存、Context passing 内容传递、Error handling 错误处理Lazy loading懒加载、Debugging调试、logging, tracing, profiling and monitoring 记录跟踪优化 校准、Performance
Java高级架构
2018/04/19
7510
Spring MVC面试题(2020最新版)
Java面试总结汇总,整理了包括Java基础知识,集合容器,并发编程,JVM,常用开源框架Spring,MyBatis,数据库,中间件等,包含了作为一个Java工程师在面试中需要用到或者可能用到的绝大部分知识。欢迎大家阅读,本人见识有限,写的博客难免有错误或者疏忽的地方,还望各位大佬指点,在此表示感激不尽。文章持续更新中…
Java架构师必看
2020/04/10
2.1K0
Android 面试之必问Java基础
面向过程:面向过程性能比面向对象高。因为对象调用需要实例化,开销比较大,较消耗资源,所以当性能是最重要的考量因素的时候,比如单片机、嵌入式开发、Linux/Unix 等,一般采用面向过程开发。但是,面向过程没有面向对象易维护、易复用、易扩展。面向对象:面向对象易维护、易复用、易扩展。因为面向对象有封装、继承、多态性的特性,所以可设计出低耦合的系统,使得系统更加灵活、更加易于维护。
Rouse
2021/05/28
9100
Android 面试之必问Java基础
推荐阅读
相关推荐
SpringMVC:如何保证Controller的并发安全?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档