项目学习本笔记记录我在实习时经手的项目,主要记录项目亮点、难点、对于项目的思考等项目使用匿名内部类+静态代码块创建Mappublic static final Map<SellOrderTypeEnum, String> SPECIAL_ORDER_TYPE_MAP = new Hash
数据结构和算法常见面试题(基础版)
面试时,算法毫无疑问是必不可少的环节,本文只简单介绍一下各数据结构和算法的基础理论知识,具体手撕算法的部分,还请期待今后的更新数据结构 4Q1:什么是 AVL 树?AVL 树是平衡二叉查找树,增加和删除节点后通过树形旋转重新达到平衡。右旋是以某个节点为中心,将它沉入当前右子节点的位置,而让当前的左子
SpringBoot常见面试题
SpringBoot启动流程SpringBoot的启动主要是通过实例化SpringApplication来启动的,启动过程主要做了以下几件事情:配置属性、获取监听器,发布应用开始启动事件初、始化输入参数、配置环境,输出banner、创建上下文、预处理上下文、刷新上下文(加载tomcat容器)、再刷新
SpringBoot启动流程详解
本文以调试一个实际的SpringBoot启动程序为例,参考流程中主要类的类图,来分析其启动逻辑和自动化配置原理。总览:上图为SpringBoot启动结构图,我们发现启动流程主要分为三个部分第一部分进行SpringApplication的初始化模块,配置一些基本的环境变量、资源、构造器、监听器第二部分
ThreadLocal在Spring事务中的使用
本文结合了ThreadLocal来看Spring事务源码,更能清晰地了解TL的实际用法,以及Spring事务的实现ThreadLocal讲spring事务之前,我们先来看看ThreadLocal,它在spring事务中是占据着比较重要的地位;不管你对ThreadLocal熟悉与否,且都静下心来听我唐
Spring事务实现解析
1. Spring 事务简介Spring 本身并不实现事务,Spring事务 的本质 还是 底层数据库 对事务的支持,没有 数据库 事务的支持,Spring事务就不会生效。Spring 事务 提供一套抽象的事务管理,并且结合 Spring IOC 和 Spring AOP,简化了应用程序使用数据库事
Mybatis 常问面试题
Mybatis源码参考:http://www.zrkworld.com/archives/mybatis-source-codeQ1:Mybatis 的优缺点?优点相比 JDBC 减少了大量代码量,减少冗余代码。使用灵活,SQL 语句写在 XML 里,从程序代码中彻底分离,降低了耦合度,便于管理。提
Spring MVC常问面试题
Q1:Spring MVC 的处理流程?Web 容器启动时会通知 Spring 初始化容器,加载 Bean 的定义信息并初始化所有单例 Bean,然后遍历容器中的 Bean,获取每一个 Controller 中的所有方法访问的 URL,将 URL 和对应的 Controller 保存到一个 Map
Spring AOP实现原理
众所周知,Spring最核心的功能包括IOC和AOP,这里详细剖析一下Spring是具体是怎么实现面向切面编程的AOP联盟标准AOP联盟将AOP体系分为三层,从三层结构可以看出,AOP实现方式有很多种,包括反射、元数据处理、程序处理、拦截器处理等,通过本节学习,你就会看到Spring AOP的实现使
Spring如何解决循环依赖?
毫无疑问,这是一道非常关键的面试题,需要对原理细细剖析、深刻理解,下面文章来自知乎@华为云开发者社区了解问题的本质再分析问题,往往更利于对问题有更深入的了解和研究。所以我们在分析 Spring 关于循环依赖的源码之前,先要了解下什么是循环依赖。1. 循环依赖的概念循环依赖分为三种,自身依赖于自身、互