字节跳动Java研发面试99题(含答案):JVM+Spring+MySQL+线程池+锁 (3)

6. 工厂模式:BeanFactory用来创建对象的实例。

springmvc的核心是什么,请求的流程是怎么处理的,控制反转怎么实现的

核心:控制反转和面向切面

请求处理流程

首先用户发送请求到前端控制器,前端控制器根据请求信息(如URL)来决定选择哪一个页面控制器进行处理并把请求委托给它,即以前的控制器的控制逻辑部分;

页面控制器接收到请求后,进行功能处理,首先需要收集和绑定请求参数到一个对象,并进行验证,然后将命令对象委托给业务对象进行处理;处理完毕后返回一个ModelAndView(模型数据和逻辑视图名);

前端控制器收回控制权,然后根据返回的逻辑视图名,选择相应的视图进行渲染,并把模型数据传入以便视图渲染;

前端控制器再次收回控制权,将响应返回给用户。

控制反转如何实现

我们每次使用spring框架都要配置xml文件,这个xml配置了bean的id和class。

spring中默认的bean为单实例模式,通过bean的class引用反射机制可以创建这个实例。

因此,spring框架通过反射替我们创建好了实例并且替我们维护他们。

A需要引用B类,spring框架就会通过xml把B实例的引用传给了A的成员变量。

BAT大厂Java高级面试题常见30问

Spring DAO 中最常用的类是什么?

如何在Spring应用中使用SLF4J?

Spring bean 的默认作用范围是?

使用@Required但不关联bean 来注解setter方法,将会发生?

已知一棵二叉树前序遍历和中序遍历分别为ABDEGCFH和DBGEACHF,则该二叉树的后序遍历为?

volatile关键字是否能保证线程安全?

Java能不能不通过构造函数创建对象?

Java程序的并发机制是?

方法resume()负责恢复哪些线程的执行?

什么是LinkedHashSet?

什么是可变参数?

断言的用途?

什么时候使用断言?

什么是垃圾回收?

用一个例子解释垃圾回收?

什么时候运行垃圾回收?

垃圾回收的最佳做法?

什么是初始化数据块?

什么是静态初始化器?

什么是实例初始化块?

什么是正则表达式?

什么是令牌化?

给出令牌化的例子?

如何使用扫描器类(Scanner Class)令牌化?

如何添加小时(hour)到一个日期对象(Date Objects)?

如何格式化日期对象?

Java中日历类(Calendar Class)的用途?

如何在Java中获取日历类的实例?

解释一些日历类中的重要方法?

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wssysw.html