SpringMVC执行流程,源码分析(一)

SpringMVC执行流程从DispatcherServelet的doDispatch方法说起WebAsyncManager异步管理器为SpringMVC的异步请求做准备,如果在Controller层返回Callable或DefferdResult,该异步管理器会起作用,否则无用。具体可查看Spri


InnoDB体系架构

InnoDB体系架构下图来自MySQL技术内幕Innodb后台多线程模型,主要负责刷新内存池中的数据,保证缓冲池中的内存缓存是最近的数据。此外,将已修改的数据文件刷新到磁盘文件,同时保证数据库发生异常的情况下InnoDB能恢复到正常运行状态。后台线程Master Thread一个核心的后台线程,主要


Spring Expressjion Language(SpEL)

Spring Expressjion Language(SpEL)做毕业设计的时候,系统需要记录用户的操作日志,并持久化存储。日志具体的内容大概是xx用户在xx事件对xx做了xx修改,记录的内容比较详细,日志的内容和动态参数有关,并且实现方式不能对业务代码有侵入性,很容易想到切面+注解的方式,但仅靠


COUNT(1)、COUNT(*)和COUNT(字段)

COUNT(1)、COUNT(*)和COUNT(字段)这个问题在网上有好多说法,甚至一些已经工作许久的开发者也没能弄清楚,网上博客千千万都不如官方文档来得靠谱,MySQL8.0官方文档地址,可以找到关于COUNT关键字的解释,下面几句话非常关键。COUNT(*) is somewhat differ


Vue笔记

最近看了点halo博客项目的源码,发现由于不是前后端分离,代码平添许多复杂性,自己想添加功能或者修改前端样式,都不太方便。就想着把项目改成前后端分离。由于之前学过点Vue,现在就再拿起来了。Vue笔记VueComponent.prototype.__proto__= Vue.prototype。Vu


虚拟机对象探秘

虚拟机对象探秘注:若无特别说明,均指HotSpot虚拟机对象的创建过程当虚拟机遇到一条字节码new指令时,首先去检查这个指令的参数能否在常量池中定位到一个类的符号引用,并检查该符号引用代表的类是否已被加载、解析和初始化过。如果没有,执行相应的类加载过程类加载完成之后,为Java对象分配内存。对象所需


Using Where,Using index,Using index condition

首先回顾一下这三个的定义Using where当有where条件,但是不能使用索引或者使用索引后仍需过滤的情况Using index索引覆盖,索引树已包含所有需要的数据,无需回表查询Using index condition官方文档:https://dev.mysql.com/doc/refman/


MySQL EXPLAIN命令

MySQL EXPLAIN命令https://dev.mysql.com/doc/refman/8.0/en/explain-output.htmlEXPLAIN获取SQL语句的执行计划:可以用于SELECT,DELETE,INSERT,REPLACE和UPDATE语句。在MySQL 8.0.19及


虚拟机类加载器

虚拟机类加载器类加载阶段中,“通过一个类的全限定名来获取描述该类的二进制字节流”这个动作放到Java虚拟机外部实现,以便让应用程序决定如何去获取所需的类,这提供了极大的灵活性。实现这个动作的代码被称为“类加载器”(ClassLoader)。类与类加载器对于任意一个类,必须由加载它的类加载器和这个类本


ExceptionHandlerExceptionResolver源码分析

ExceptionHandlerExceptionResolver源码分析与其说是分析异常处理器源码,倒不如是把Mvc自动配置走了一遍。ExceptionHandlerExceptionResolver、RequestMappingHandlerMapping、RequestMappingHandl