java面试常问的几个运行原理和几种设计模式
(1)原生态 Ajax 执行流程?1.创建 XMLHttpRequest 对象;2.注册回调函数;3.设置连接信息;4.发送数据,与服务器开始交互;5.接受服务器返回数据(2)SpringMVC运行原理1. 客户端请求提交到DispatcherServlet2. 由DispatcherServlet控制器查询一个或多个HandlerMapping...
(1)原生态 Ajax 执行流程?
1.创建 XMLHttpRequest 对象;
2.注册回调函数;
3.设置连接信息;
4.发送数据,与服务器开始交互;
5.接受服务器返回数据
(2) SpringMVC运行原理
1. 客户端请求提交到DispatcherServlet
2. 由DispatcherServlet控制器查询一个或多个HandlerMapping,找到处理请求的Controller
3. DispatcherServlet将请求提交到Controller
4. Controller调用业务逻辑处理后,返回ModelAndView
5. DispatcherServlet查询一个或多个ViewResoler视图解析器,找到ModelAndView指定的视图
6. 视图负责将结果显示到客户端 DispatcherServlet是整个Spring MVC的核心。它负责接收HTTP请求组织协调Spring MVC的各个组成部分。
其主要工作有以下三项:
1. 截获符合特定格式的URL请求。
2. 初始化DispatcherServlet上下文对应的WebApplicationContext,并将其与业务层、持久化层的WebApplicationContext建立关联。
3. 初始化Spring MVC的各个组成组件,并装配到DispatcherServlet中。
(3)struts2的运行原理
1、 在servlet容器启动时加载web.xml,通过核心控制器FilterDispatcher加载struts.xml文件并进行解析,将解析的信息封装在ActionMapper类中。
2、 客户端发送请求,请求被核心控制器FilterDispatcher进行拦截。
3、 FilterDispatcher通过ActionMapper找到对应的ActionForm和Action中的响应方法,在访问方法前先经过Struts2设置的17个默认拦截器,其中一个拦截器的功能是将请 求时的数据封装在ActionForm中,然后方法进行响应。
4、 方法处理完后返回一个字符串,通过sturts.xml配置文件中的<result />找到响应的请求路径。
(4)habernate的运行原理
1. 读取并解析配置文件
2.读取并解析映射信息,创建SessionFactory
3. 打开Sesssion
4.创建事务Transation
5. 持久化操作
6.提交事务
7.关闭Session
8. 关闭SesstionFactory
(5) mybatis运行流程
1. 加载配置文件并初始化(SqlSession)
配置文件来源于两个地方,一个是配置文件(主配置文件conf.xml,mapper文件*.xml),一个是java代码中的注释,将sql的配置信息加载成为一个mappedstatement对象,存储在内存之中(包括传入参数的映射配置,结果映射配置,执行的sql语句)。
2. 接收调用请求
调用mybatis提供的api,传入的参数为sql的id(有namespase和具体sql的id组成)和sql语句的参数对象,mybatis将调用请求交给请求处理层。
3. 处理请求
根据sql的id找到对应的mappedstatament对象。
根据传入参数解析mappedstatement对象,得到最终要执行的sql。
获取数据库连接,执行sql,得到执行结果
Mappedstatement对象中的结果映射对执行结果进行转换处理,并得到最终的处理结果。
释放连接资源
4. 返回处理结果
java中的设计模式有23种,具体如下:
创建型
抽象工厂模式、工厂方法、建造者模式、原型模式、单态模式
结构型
适配器模式、桥接模式、组合模式、外观模式、装饰者模式、享元模式、代理模式、
行为型
责任链模式、命令模式、解释器模式、迭代模式、中介者模式、备忘录模式、观察者模式、状态模式、策略模式、模板方法模式、访问者模式
常见的有七种,具体如下:单例模式、工厂模式、建造(Builder)模式、观察者模式、适配器(Adapter)模式、代理模式、装饰模式
PS:第一次整理这些工作原理,若有错误,大家及时通知我改正哈!
更多推荐
所有评论(0)