"Java面试题:SpringMVC原理与ThreadLocal应用"
Java面试题.docx中介绍了SpringMVC的运行原理,包括以下几个步骤:客户端请求首先提交到DispatcherServlet,然后由DispatcherServlet控制器查询HandlerMapping,找到并分发到指定的Controller中,Controller调用业务逻辑处理后,返回ModelAndView,最后DispatcherServlet查询一个或多个ViewResolver视图解析器,找到ModelAndView指定的视图。 ThreadLocal是线程变量副本的概念,Synchronized可以实现内存共享,而ThreadLocal则为每个线程维护一个本地变量。它用于线程间的数据隔离,为每一个使用该变量的线程提供一个副本,每个线程都可以独立地改变自己的副本,而不会和其他线程的副本冲突。ThreadLocal类中维护一个Map,用于存储每一个线程的变量副本。在Spring中,ThreadLocal在管理Request作用域中的Bean、事务管理、任务调度、AOP等模块中都发挥着巨大的作用。大部分Bean都可以声明为Singleton作用域,采用ThreadLocal进行封装,使得有状态的Bean能够以Singleton的方式在多线程中正常工作。 另外,面试题还涉及到Java的GC(垃圾回收)机制。GC发生的时机是在内存不足时,GC会对堆内存中的垃圾对象进行回收。GC对什么东西做了什么事情,取决于具体的GC算法和配置。在面试题中,提到了新生代的GC机制,包括Eden区和两个Survivor区。新对象首先会被放入Eden区,当Eden区空间不足时,会进行一次Minor GC。Minor GC将不再使用的对象进行清理,并将存活的对象移动到Survivor区。如果Survivor区也不够存放,那么一部分对象将会被移动到老年代,而剩余的对象将会被清空。 综上所述,SpringMVC的运行原理是通过DispatcherServlet来控制请求的分发和处理,ThreadLocal是一种用于线程间数据隔离的机制,Java的GC机制是在内存不足时对垃圾对象进行回收。
剩余15页未读,继续阅读
- 粉丝: 23
- 资源: 3326
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
评论0