1,SSH框架和SSM区别
SSH:struct+spring+hibernate,SSM:MVC+spring+mybatis
struct入口是filter级别,对action类进行请求,一个action类对应一个请求、类拦截;spring-mvcservlet级别,方法级别请求,方法拦截;
2、描述context初始化流程
https://www.cnblogs.com/dingpeng9055/p/11654286.html
3、bean生命周期及作用域
https://www.cnblogs.com/Chencheno/p/11753036.html
4、spring配置中placeholder占位符如何替换?有什么方法可实现自定义配置替换
beanFacotryPostProcessor后置处理器占位符替换,自定义的话可扩展propertyPlaceholderConfigurer或propertySourcesPlaceholderConfigurer实现
5、springMVC工作流程
handlerMapping查找handler、执行handler,执行完给配置器返回ModelAndView、视图解析、返回视图
方法对应的url路径:abstractHandlerMethodMapping实现initializingBean覆盖afterPropertiesSet方法(spring容器初始化时回调该方法)调用initHandlerMethods方法,getCandidateBeanNames从bean容器获取all bean,processCandidateBean中据beanName获取bean的class对象,如果isHandler判断该类加了controller或requestMapping注解
detectHandlerMethods
内部遍历类下的方法拼接方法描述信息requestMappingInfo
getPathPrefix处理方法前缀
返回方法与方法描述信息的map,遍历该集合aopUtils.selectInvocableMehod(method,userType) 找到方法的代理方法
registerHandlerMethod注册该方法,register 有 mappingLookUp、urlLookUp
dispatcherServlet是servlet子类,请求由doGet捕获 委托给processRequest在doservice处理正在的逻辑
dodispatch gethandler gethandler
当一个http请求来临时,SpringMVC究竟偷偷帮你做了什么? - 知乎
处理器适配器
mvc:view界面 model业务逻辑 controller调度view和module
组合:视图层 底层实现 html树状结构
观察:model被观察者和view观察者,model一旦变化view立即被通知
策略:controller是view的一个策略,controller对于view可替换,view和controller关系一对多,一个view被多个controller引用
6、spring循环依赖
构造器循环依赖:使用创建中的bean标识池判断是否产生了循环依赖
setter循环依赖:引入objectFactory
Spring-bean的循环依赖以及解决方式_spring 循环依赖-CSDN博客
7、bean构造方法、@postConstruct注解、initializingBean、initmethod执行器顺序
如题
8、nettry重要对象,关系
TCP 粘包/拆包说明 及 异常案例_readablebytechannel read有没有可能粘包-CSDN博客
9、RPC和HTTP区别,适合什么
http使用client远程调用,rpc动态代理远程调用
http经过DNS解析,4-7层代理等中间环节;rpc点对点直连
rpc更丰富服务治理功能:熔断、负载均衡等
http跨语言服务间交互更友好
10、RPC交互流程是什么
11、mybatis缓存机制
12、mybatis如何配置动态SQL,那些动态SQL标签
13、mvcc multi-version concurrency control多版本并发控制
行级锁的妥协,innodb为行记录添加两个额外的隐藏值,只工作在repeatable read和read commited有效;保存数据在某个时间点的快照、事务无论运行多长时间在同一 事务里能看到一致的视图