摘要: 事务定义 事务是一组操作,这些操作可以是一条SQL语句、一组SQL语句或整个程序。 什么时候会用到事务呢?当多张强一致关联的表,需要进行数据同步的时候,就需要开启事务。 事务特性 原子性 (atomicity): 强调事务的不可分割.最小执行逻辑单位。事务只会全部成功或全部失败。 一致性 (cons 阅读全文
posted @ 2023-02-11 14:48 Duikerdd 阅读(37) 评论(0) 推荐(0) 编辑
摘要: 消息队列 消息队列是典型的生产者消费者模型,本质就是一块可供读写消息的缓冲区。 消息队列可以解耦,异步,削峰。是现代应用开发中不可或缺的技术。 RabbitMQ RabbitMQ是一个由erlang开发的消息队列。并发能力很强,性能极其好,延时很低,达到微秒级。 设计结构如下: 消息可靠性 Rabb 阅读全文
posted @ 2023-02-05 13:27 Duikerdd 阅读(107) 评论(0) 推荐(0) 编辑
摘要: spring缓存 spring框架对缓存服务进行了抽象,提供了缓存增删查改等功能。但需要实现一个具体的数据存储实体。 缓存与缓冲区 缓存是无感知的,提高多次读取相同数据的性能 缓冲区是作用于快速和慢速实体之间的数据临时存储。相同数据块一般只会读写一次。 Reids实现spring缓存服务 sprin 阅读全文
posted @ 2022-12-25 17:16 Duikerdd 阅读(1010) 评论(0) 推荐(0) 编辑
摘要: springboot使用redis 简介 在Spring Boot中,要访问Redis,可以直接引入spring-boot-starter-data-redis依赖,它实际上是Spring Data的一个子项目——Spring Data Redis,主要用到了这几个组件: Lettuce:一个基于N 阅读全文
posted @ 2022-12-25 17:03 Duikerdd 阅读(2239) 评论(0) 推荐(1) 编辑
摘要: 基础概念 定义 Redis(Remote Dictionary Server)是一个使用 C 语言编写的,高性能非关系型的键值对数据库。 特点 基于内存操作 单线程,高并发 支持多种数据类型 支持持久化 访问速度比对: 这是计算机缓存系统结构, 内存访问是比硬盘访问快上几个数量级的。 那么什么样的代 阅读全文
posted @ 2022-12-25 16:11 Duikerdd 阅读(102) 评论(0) 推荐(1) 编辑
摘要: 前言 csapp(黑皮书之一)是计算机底层的百科全书,是世界一流学校的教材。作者是CMU计科院长,至今为止,CMU计科仍在世界顶尖。 此书涵盖知识面非常广,并且讲的很透彻,回答了我之前疑惑的“为什么这么设计”的问题。 链接: 深入理解计算机系统(一) 二进制数字系统(bit,整数,浮点数详解) 背景 阅读全文
posted @ 2022-10-30 19:46 Duikerdd 阅读(407) 评论(0) 推荐(1) 编辑
摘要: 概念 springboot在启动流程中最重要的事情便是加载启动spring组件,比如加载IOC容器,启动springMVC等。 实现原理 使用AnnotationConfigServletWebServerApplicationContext(下面简称为上下文)加载和启动spring组件。其中注册的 阅读全文
posted @ 2022-10-30 16:54 Duikerdd 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 概念 springboot在启动流程中会把环境配置都加载进应用当中。 实现原理 使用环境配置器用来加载和解析所有配置文件。配置文件会被抽象成PropertySource对象存储。 uml类图 环境配置流程 源码剖析 环境配置 /** SpringApplication.class 环境配置 **/ 阅读全文
posted @ 2022-10-30 16:18 Duikerdd 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 概念 springboot在启动流程中会发布一些事件通知依赖组件进行主动更新。 原理是springboot使用到的一种设计模式: 观察者模式。优点是解耦合启动流程,增加了spring的扩展性。 实现原理 被观察者会维护一个事件发布器,事件发布器会注册持有监听者(观察者)的引用。 当被观察者发生状态改 阅读全文
posted @ 2022-10-30 15:09 Duikerdd 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 前言 之前阅读STL(C++)源码的时候,有所感悟: 大佬的代码总会实践到部分设计模式、新型语法特性,亦或是精巧的算法和数据结构。 读源码的技巧:大局入手,之后细细品味,重点地方做到逐行阅读。 故学习源码也是提升自己认知和能力的一种途径,本篇章主要介绍springboot源码相关。 链接: spri 阅读全文
posted @ 2022-10-30 13:42 Duikerdd 阅读(55) 评论(0) 推荐(0) 编辑