摘要: InnoDB存储引擎执行一个更新语句的流程 1.加载数据到缓存中,从磁盘文件加载数据到缓冲池里 2.把旧值写入undo日志文件,便于回滚 3.更新内存数据,也就是更新缓冲池里的数据,此时缓冲池的数据变成了脏数据,也即是说和磁盘文件里的数据不一致了 4.在3步更新后,万一出现系统宕机,缓冲池里的数据会 阅读全文
posted @ 2020-07-02 10:58 Mr.years 阅读(420) 评论(0) 推荐(0) 编辑
摘要: 1.用户发起请求,这里往往时多线程并发访问 2.去数据库线程池拿数据库链接,如果没有线程池,每次访问都要和数据库建立一次连接,非常耗时,效率低下 3.数据库层面上来说,可能会有多个系统同时访问它,所以它也要维护与系统之间的多个连接,也就是数据库层面的连接池 4.Mysql工作线程会监听数据库操作的请 阅读全文
posted @ 2020-05-27 10:57 Mr.years 阅读(567) 评论(0) 推荐(0) 编辑
摘要: 下面是一个简单的Mapper接口调用,首先同个session的getMapper方法获取Mapper的代理对象,然后通过代理对象去调用Mapper接口的方法 源码分析: 首先看MapperProxy类,关键是mapperMethod.execute(this.sqlSession, args); M 阅读全文
posted @ 2019-07-29 23:22 Mr.years 阅读(686) 评论(0) 推荐(1) 编辑
摘要: 消息何去何从 mandatory 和 immediate 是 channel . basicPublish 方法中的两个参数,它们都有 当消息传递过程中不可达目的地时将消息返回给生产者的功能。 当 mandatory 参数设为 true 时,交换器无法根据自身的类型和路由键找到一个符合条件 的队列, 阅读全文
posted @ 2019-05-26 21:40 Mr.years 阅读(219) 评论(0) 推荐(1) 编辑
摘要: 几个基本概念 Producer 生产者,发送消息的一方,图中左侧的client。 Consumer 消费者,接收消息的一方,图中后侧的client。 Broker 消息中间件的服务节点,一般一个RabbitMQ Broker看成一台RabbitMQ服务器。 消息 消息包含两部分:消息体和标签。消息体 阅读全文
posted @ 2019-05-26 19:36 Mr.years 阅读(385) 评论(0) 推荐(1) 编辑
摘要: 过滤器方式实现拦截(Filter) 通过继承Servlet的Filter类来实现拦截: 假如这个Filter是第三方jar提供的,怎么加入我们自己的工程呢?通过org.springframework.boot.web.servlet.FilterRegistrationBean来加入 拦截器方式实现 阅读全文
posted @ 2019-04-14 20:18 Mr.years 阅读(13018) 评论(0) 推荐(0) 编辑
摘要: 如何配置单数据源 搭建项目 主要相关的依赖是H2 和 JDBC, 如果是别的数据库就选别的,入Mysql 查看datasource是否配置成功 启动程序控制台输出: 说明spingboot自动帮我们配置好了dataSource和jdbcTemplate. 当然也可以在配置文件中改变数据源的一些连接信 阅读全文
posted @ 2019-03-03 16:59 Mr.years 阅读(1188) 评论(0) 推荐(0) 编辑
摘要: 构建Spring项目 通过https://start.spring.io/来构建项目,在这里我选择了两个依赖,web 和 Actuator. 项目结构 通过eclipse导入项目,可以看到这是一个标准的maven项目机构 运行项目 直接在DemoApplication类上run就行了,最后通过页面访 阅读全文
posted @ 2019-03-03 15:08 Mr.years 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 概述 LinkedHashMap继承自HashMap,实现了Map<K,V>接口。其内部还维护了一个双向链表,在每次插入数据,或者访问、修改数据时,会增加节点、或调整链表的节点顺序。以决定迭代时输出的顺序。 默认情况,遍历时的顺序是按照插入节点的顺序。这也是其与HashMap最大的区别。 也可以在构 阅读全文
posted @ 2018-06-13 10:45 Mr.years 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 概述 HashMap根据键的hashCode值存储数据,大多数情况下可以直接定位到它的值,因而具有很快的访问速度,但遍历顺序却是不确定的。 HashMap最多只允许一条记录的键为null,允许多条记录的值为null。HashMap非线程安全,即任一时刻可以有多个线程同时写HashMap,可能会导致数 阅读全文
posted @ 2018-06-12 17:44 Mr.years 阅读(269) 评论(0) 推荐(0) 编辑