2022最新超详细Spring全家桶面试题(待更新ing)
Posted Panda_Java
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2022最新超详细Spring全家桶面试题(待更新ing)相关的知识,希望对你有一定的参考价值。
2022最新超详细Spring全家桶面试题完整版
- 0. 参考视频
- 1. 谈谈对Spring的理解
- 77.SpringBoot的自动配置原理
- 81. Springboot 启动原理 (启动过程)
- 86. Springboot默认的日志实现框架,如何切换其他日志框架?
- 101.@Component 和@ComponentScan的联系
- 102. @SpringBootApplication和@ComponentScan,扫描包的区别:
- 103 @GetMapping和@RequestMapping的区别
- 1.JDK JRE JVM区别与联系?(JIT即时编译器)
- 2. ACID的实现方式
- 3. Mybatis中#和¥的区别?
- 4. 浅谈@RequestMapping @ResponseBody 和 @RequestBody 注解的用法与区别
- 5. 如何自定义一个注解(@Annotation)
- 6. 最近最久未使用(LRU算法)算法采用的数据结构
0. 参考视频
链接: 2021最新超详细Spring全家桶面试题100道完整版.
1. 谈谈对Spring的理解
77.SpringBoot的自动配置原理
81. Springboot 启动原理 (启动过程)
第一步:创建 SpringApplication 对象。
第二步:运⾏ run() ⽅法。
以上两步是粗略介绍。
下述关键步骤:
“ApplicationContext是spring中比较高级的容器。和BeanFactory类似,它可以加载配置文件中定义的bean,并将所有bean集中在一起,
- 创建ApplicationContext容器
- 将启动类作为配置类进行读取,将配置类注册为BeanDefinition
- 调用Refresh 加载IOC容器(其中具体包括,解析@import,加载所有的自动配置类,OnRefresh创建内置的servlet容器)
86. Springboot默认的日志实现框架,如何切换其他日志框架?
默认是logback日志框架
切换log4j2 (springboot 中含有log4j2的对应的starter)
切换log4j (了解)
101.@Component 和@ComponentScan的联系
@Component 这个注解的作用是把我们写的bean注入到容器中,以供使用,
@ComponentScan注解的作用则是扫描包中的bean(比如:Spring不知道你定义了某个bean除非它知道从哪里可以找到这个bean,ComponentScan做的事情就是告诉Spring从哪里找到bean),由你来定义哪些包需要被扫描。一旦你指定了,Spring将会将在被指定的包及其下级包中寻找bean,这两个注解进行配合使用。
102. @SpringBootApplication和@ComponentScan,扫描包的区别:
如果你的其他包都在使用了@SpringBootApplication注解的main app所在的包及其下级包,则你什么都不用做,SpringBoot会自动帮你把其他包都扫描了如果你有一些bean所在的包,不在main app的包及其下级包,那么你需要手动加上@ComponentScan注解并指定那个bean所在的包。
103 @GetMapping和@RequestMapping的区别
- @GetMapping用于将HTTP get请求映射到特定处理程序的方法注解
具体来说,@GetMapping是一个组合注解,是@RequestMapping(method = RequestMethod.GET)的缩写。 - RequestMapping 具有类属性的,可以进行 GET,POST,PUT 或者其它的注释中具有的请求方法。
GetMapping 是 GET 请求方法中的一个特例。它只是 ResquestMapping 的一个延伸,目的是为了提高清晰度。
链接: 参考视频.
1.JDK JRE JVM区别与联系?(JIT即时编译器)
2. ACID的实现方式
原子性( A )——>undo log实现;
隔离性( I )——>MVC实现;
持久性( D )——>redo log实现
一致性( C )——>依靠以上特性三个实现
3. Mybatis中#和¥的区别?
4. 浅谈@RequestMapping @ResponseBody 和 @RequestBody 注解的用法与区别
链接: 参考链接.
5. 如何自定义一个注解(@Annotation)
6. 最近最久未使用(LRU算法)算法采用的数据结构
链接: 彻头彻尾理解 LinkedHashMap.
HashMap和双向链表合二为一即是LinkedHashMap。所谓LinkedHashMap,其落脚点在HashMap,因此更准确地说,它是一个将所有Entry节点链入一个双向链表的HashMap。由于LinkedHashMap是HashMap的子类,所以LinkedHashMap自然会拥有HashMap的所有特性。比如,LinkedHashMap的元素存取过程基本与HashMap基本类似,只是在细节实现上稍有不同。当然,这是由LinkedHashMap本身的特性所决定的,因为它额外维护了一个双向链表用于保持迭代顺序。此外,LinkedHashMap可以很好的支持LRU算法。
以上是关于2022最新超详细Spring全家桶面试题(待更新ing)的主要内容,如果未能解决你的问题,请参考以下文章
最全153道Spring全家桶面试题,java初级面试官常问的问题
2021斩获45K月薪的Spring全家桶:文档+面试题+学习笔记+思维导图