自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

猫吻鱼的博客

身坚志残

  • 博客(191)
  • 资源 (4)
  • 收藏
  • 关注

原创 设计模式 :总结篇

设计模式① :适应设计模式Iterator 模式:一个一个遍历。Adapter 模式:加个适配器以便于复用。设计模式② :交给子类Template Method 模式 :将具体处理交给子类Factory Method 模式 :将实例的生成交给子类。设计模式③ :生成实例Singleton 模式 :只有一个实例Prototype 模式 :通过复制生成实例Builder 模式 :组装复杂的实例Abstract Factory 模式 :将关联零件组装成产品设计模式④ :分开考虑。

2024-01-27 17:19:38 790

原创 Dubbo源码分析:全集整理

文章目录一、前言二、目录1. 源码篇2. 衍生篇一、前言本文是Dubbo源码分析目录集整理,方便后续查找。本文持续更新中。二、目录1. 源码篇2. 衍生篇

2021-06-17 19:35:36 3239 2

原创 Spring源码分析:全集整理

文章目录一、前言一、Spring 启动流程1、 源码分析2、衍生文章3、手写尝试二、Spring bean 的创建1、 源码分析2、衍生文章3、手写尝试三、Spring Aop 的过程1、 源码分析2、衍生文章3、手写尝试四、Mybatis 的实现1、 源码分析2、衍生文章3、手写尝试一、前言本篇是为了给自己的Spring源码分析做一个详细的目录整理一、Spring 启动流程1、 源码分析2、衍生文章3、手写尝试二、Spring bean 的创建1、 源码分析Spring 源码分析一 :

2020-07-04 12:29:37 39258 35

原创 【MySQL06】【MVCC】

最近在读《MySQL 是怎样运行的》、《MySQL技术内幕 InnoDB存储引擎 》,后续会随机将书中部分内容记录下来作为学习笔记,部分内容经过个人删改,因此可能存在错误,如想详细了解相关内容强烈推荐阅读相关书籍。

2024-07-20 15:43:09 602

原创 【MySQL05】【 undo 日志】

最近在读《MySQL 是怎样运行的》、《MySQL技术内幕 InnoDB存储引擎 》,后续会随机将书中部分内容记录下来作为学习笔记,部分内容经过个人删改,因此可能存在错误,如想详细了解相关内容强烈推荐阅读相关书籍。

2024-07-08 10:22:28 663 1

原创 【MySQL04】【 redo 日志】

最近在读《MySQL 是怎样运行的》、《MySQL技术内幕 InnoDB存储引擎 》,后续会随机将书中部分内容记录下来作为学习笔记,部分内容经过个人删改,因此可能存在错误,如想详细了解相关内容强烈推荐阅读相关书籍。

2024-07-02 14:53:29 873

原创 【项目实践05】【MySQL 临时表导致磁盘占用100%】

本系列用来记录一些在实际项目中的小东西,并记录在过程中想到一些小东西,因为是随笔记录,所以内容不会过于详细。某年某月某日清晨,某台服务器磁盘告警,使用率达到100%导致服务崩溃。告警的服务器仅仅用来安装了几个中间件,包括 MySQL、RabbitMQ、Nacos等,其中可能产生大量落盘的只有 MySQL 数据落盘 或者 RabbitMQ 消息堆积。通过。

2024-06-20 19:40:02 786

原创 【MySQL03】【 Buffer Pool】

最近在读《MySQL 是怎样运行的》、《MySQL技术内幕 InnoDB存储引擎 》,后续会随机将书中部分内容记录下来作为学习笔记,部分内容经过个人删改,因此可能存在错误,如想详细了解相关内容强烈推荐阅读相关书籍。

2024-06-03 16:04:18 665

原创 【MySQL02】【 InnoDB 记录存储结构】

最近在读《MySQL 是怎样运行的》、《MySQL技术内幕 InnoDB存储引擎 》,后续会随机将书中部分内容记录下来作为学习笔记,部分内容经过个人删改,因此可能存在错误,如想详细了解相关内容强烈推荐阅读相关书籍由于存储介质的特性,磁盘本身存取就比主存慢很多,再加上机械运动耗费,磁盘的存取速度往往是主存的几百分之一,因此为了提高效率,要尽量减少磁盘I/O。为了达到这个目的,磁盘往往不是严格按需读取,而是每次都会预读,即使只需要一个字节,磁盘也会从这个位置开始,顺序向后读取一定长度的数据放入内存。

2024-05-21 11:13:02 749

原创 【MySQL01】【 Explain 命令详解】

最近在读《MySQL 是怎样运行的》一书,后续会随机将书中部分内容记录下来作为学习笔记,部分内容经过个人删改,因此可能存在错误,如想详细了解相关内容强烈推荐阅读该书。

2024-05-14 17:12:04 867

原创 【Docker笔记07】【容器监控】

通过docker stats 命令可以很方便的查看当前宿主机上所有容器的CPU、内存、网络流量等数据,可以满足一些小型应用。如下:但是 docker stats 统计结果只能是当前宿主机的全部容器,数据资料是实时的,没有地方存储、没有健康指标过线预警等功能。CAdvisor(监控收集) + InfluxDB(存储数据) + Granfana(展示图表),合称 CIG。

2024-03-31 10:22:40 1718

原创 【Docker笔记06】【容器编排】

本系列是根据学习记录笔记。因为没有视频课件,部分内容摘自。本系列仅为自身学习笔记记录使用,记录存在偏差,推荐阅读原视频内容或本文参考笔记。

2024-03-31 10:22:27 1123

原创 【Docker笔记05】【网络模式】

docker安装并启动服务后,会在宿主机中添加一个虚拟网卡。ens33或eth0:本机网卡lo:本机回环网络网卡可能有virbr0(CentOS安装时如果选择的有相关虚拟化服务,就会多一个以网桥连接的私网地址的virbr0网卡,作用是为连接虚拟网卡提供NAT访问外网的功能。如果要移除该服务,可以使用 yum remove libvirt-libs.x86_64)使用 systemctl start docker启动Docker服务后,会多出一个 docker0 网卡。

2024-03-31 10:22:14 844

原创 【Docker笔记04】【Dockerfile】

本系列是根据学习记录笔记。因为没有视频课件,部分内容摘自。本系列仅为自身学习笔记记录使用,记录存在偏差,推荐阅读原视频内容或本文参考笔记。

2024-03-31 10:21:51 680

原创 【Docker笔记03】【MySQL 与 Redis的主从安装】

本系列是根据学习记录笔记。因为没有视频课件,部分内容摘自。本系列仅为自身学习笔记记录使用,记录存在偏差,推荐阅读原视频内容或本文参考笔记。

2024-03-31 10:21:39 1043

原创 【Docker笔记02】【常用软件安装】

本系列是根据学习记录笔记。因为没有视频课件,部分内容摘自。本系列仅为自身学习笔记记录使用,记录存在偏差,推荐阅读原视频内容或本文参考笔记。本文主要介绍 Tomcat、Mysql、Redis 在 Docker 中的安装过程。

2024-03-31 10:21:22 813

原创 【Docker笔记01】【基础内容】

Docker的主要目标是:Build, Ship and Run Any App, Anywhere,也就是通过对应用组件的封装、分发、部署、运行等生命周期的管理,使用户的APP及其运行环境能做到一次镜像,处处运行。

2024-03-31 10:21:07 1046

原创 【项目实践04】【RocketMQ消息收发拦截器】

文章目录一、前言二、项目背景三、实现方案1. 关键接口2. 消息发送方3. 消息消费方4. 配置引入类5. 使用示例四、思路扩展1. 消费流程简介一、前言本系列用来记录一些在实际项目中的小东西,并记录在过程中想到一些小东西,因为是随笔记录,所以内容不会过于详细。二、项目背景原本的目的是想实现 MQ 消息之间的 TraceId 追踪。如下两个拦截器可以实现 MQ 消息之间 TraceId 的传递,不过项目后面转用 TLog 。(但是写都写了,不能浪费 )三、实现方案1. 关键接口消息发送方

2024-03-07 19:00:00 1275

原创 【项目实践03】【布隆过滤器】

本系列用来记录一些在实际项目中的小东西,并记录在过程中想到一些小东西,因为是随笔记录,所以内容不会过于详细。

2024-02-04 20:24:35 992

原创 【项目实践02】【优先级阻塞队列】

本系列用来记录一些在实际项目中的小东西,并记录在过程中想到一些小东西,因为是随笔记录,所以内容不会过于详细。

2024-02-01 15:06:47 418

原创 设计模式⑩ :用类来实现

一个类在进行工作时会调用自己或其他类的方法,虽然调用结果会反映在对象的状态中,但并不会留下工作的历史记录。这时如果我们有一个类,用来表示“请进行这项工作”的“命令”就会方便很多。每一项的工作就不再是“方法的调用”这种动态处理了,而是一个表示命令的类的实例,即可以用“物”来表示。想要管理工作的历史记录,只需要管理这些实例的集合即可。还可以随时再次执行过去的命令,或者将多个过去的命令整合成一个新的命令并执行。在设计模式中,我们称这样的命令为 Command 模式(命令模式)。Command 有时也会被称为事件。

2024-01-27 17:04:17 1364

原创 设计模式⑨ :避免浪费

有时候不想动脑子,就懒得看源码又不像浪费时间所以会看看书,但是又记不住,所以决定开始写"抄书"系列。本系列大部分内容都是来源于《 图解设计模式》(【日】结城浩 著)。该系列文章可随意转载。Flyweight 即轻量级的意思,如通过尽量共享实例来避免 new 出实例,占用更少的内存的思想。Flyweight 模式 登场的角色Flyweight (轻量级) : 表示那些可以被共享的类。

2024-01-25 10:09:12 1180

原创 设计模式⑧ :管理状态

有时候不想动脑子,就懒得看源码又不像浪费时间所以会看看书,但是又记不住,所以决定开始写"抄书"系列。本系列大部分内容都是来源于《 图解设计模式》(【日】结城浩 著)。该系列文章可随意转载。Observer 即 “观察者”,在 Observer 模式中,当观察对象的状态发生变化时,会通知给观察者。Observer 模式适用于根据对象状态进行相应处理的场景。Subject (观察对象):Subject 角色表示观察对象。Subject 角色定义了注册观察者和删除观察者的方法。

2024-01-24 16:43:44 1051

原创 设计模式⑦ :简单化

有时候不想动脑子,就懒得看源码又不像浪费时间所以会看看书,但是又记不住,所以决定开始写"抄书"系列。本系列大部分内容都是来源于《 图解设计模式》(【日】结城浩 著)。该系列文章可随意转载。一般来说,随着时间推移,程序会变得越来越复杂,这使得程序结构也变得越来越复杂,在使用这些功能时,我们需要先整理清楚他们之间的关系,注意正确的调用顺序。与其如此,不如为这个大型程序准备一个“窗口“,这样就无需关注每个类,只需要简单的对窗口提出请求即可。

2024-01-18 19:29:25 1235

原创 设计模式⑥ :访问数据结构

在 Visitor 模式中,数据结构和数据被分离开来。我们需要编写一个“访问者”的类来访问数据结构中的元素,并把对各元素的处理交给访问者类。这样当需要增加新的处理时,我们只需要编写新的访问者,然后让数据结构可以接受访问者的访问即可。Visitor(访问者):该角色负责对数据结构中每个具体的元素(ConcreteElement角色)声明一个用于访问XXX 的 visit(XXX) 方法。visit(XXX) 是用于处理 XXX 的方法,负责实现该方法的是 ConcreteVisitor 橘色。

2024-01-15 21:45:59 1085

原创 设计模式⑤ :一致性

能够使容器与内容具有一致性,创造出具有递归结构的模式就是 Composite 模式(组合模式)。Composite 模式中登场的角色Leaf (树叶):表示“内容”的角色,在该角色中不能放入其他角色。Composite(复合物):表示容器的角色,可以在其中放入 Leaf 角色和 Composite 角色。Component :使用 Leaf 和 Composite 角色具有一致性的角色。Component 角色是 Leaf 角色和 Composite角色的父类。

2024-01-10 18:41:58 1142

原创 设计模式④ :分开考虑

Bridge 模式的作用是将两种东西连接起来,它们分别是 类的功能层次结构 和 类的实现层次结构,但是通常来说,类的层次结构不应当过深。类的功能层次结构 :在父类中具有基本功能,在子类中增加新的功能。这种层次结构成为 类的功能层次结构。类的实现层次结构:父类通过声明抽象方法来定义接口,子类通过实现具体方法来实现接口。这种层次结构称为 类的实现层次结构。Bridge 模式登场的角色。

2024-01-08 19:06:16 1045

原创 设计模式③ :生成实例

有时候不想动脑子,就懒得看源码又不像浪费时间所以会看看书,但是又记不住,所以决定开始写"抄书"系列。本系列大部分内容都是来源于《 图解设计模式》(【日】结城浩 著)。该系列文章可随意转载。想确保任何情况下都绝对只有一个实例想在程序上表现出“只存在一个实例”像这种确保只生成一个实例的模式被称为Singleton 模式。Singleton :在 Singleton 模式中只有这一个角色。Singleton 角色中有一个返回唯一实例的 static 方法,该方法总是会返回同一个实例。

2024-01-05 10:40:45 1139

原创 设计模式② :交给子类

有时候不想动脑子,就懒得看源码又不像浪费时间所以会看看书,但是又记不住,所以决定开始写"抄书"系列。本系列大部分内容都是来源于《 图解设计模式》(【日】结城浩 著),内容仅用于个人学习记录,可随意转载。在父类中定义处理流程框架,在子类中实现具体处理的模式就称为 Template Method 模式。AbstractClass(抽象类):AbstractClass 角色不仅负责实现模板方法,还负责声明在模板方法中所使用到的抽象方法。这些抽象方法由子类ConcreteClass角色负责实现。

2024-01-05 10:39:11 1155

原创 【项目实践01】【请求的路由转发】

本系列用来记录一些在实际项目中的小东西,并记录在过程中想到一些小东西,因为是随笔记录,所以内容不会过于详细。

2023-11-12 14:44:11 231 1

原创 Mybatis 源码 ∞ :杂七杂八

需要注意的是ResultHandler 要求方法必须无返回值,在 MapperMethod#execute 中会判断进行该判断:

2023-08-14 10:58:31 1149

原创 Mybatis 源码 ④ :TypeHandler

Mybatis 源码 ① :开篇Mybatis 源码 ② :流程分析Mybatis 源码 ③ :SqlSession书接上文Mybatis 源码 ③ :SqlSession。我们这里来看下 DefaultParameterHandler 和 DefaultResultSetHandler 的处理过程。创建一个 PwdTypeHandler 类,继承 BaseTypeHandler// 定义加解密方式// 赋值时加密@Override// 取值时解密@Override@Override。

2023-08-14 10:51:57 1481

原创 Mybatis 源码 ③ :SqlSession

SpringBoot 启动后 MybatisAutoConfiguration 中会注入 SqlSessionFactory 和 SqlSessionTemplate。SqlSessionFactory 创建是会解析Mybatis 配置以及 Mapper Xml 文件并保存,此时注入的实际类型是 DefaultSqlSessionFactory。

2023-08-14 10:49:01 477

原创 Mybatis 源码 ② :流程分析

在Mybatis 源码 ① :开篇中 我们整体简单介绍了下Mybatis ,下面我们来对SpringBoot 中 Mybatis 的源码做具体分析Mybatis 源码 ① :开篇下面我们按照 SpringBoot 自动装配作为入口来进行分析。SpringBoot 自动装配会 将 AutoConfiguredMapperScannerRegistrar 装配到容器中。

2023-08-14 10:42:16 527 2

原创 Mybatis 源码 ① :开篇

Mybatis 官网Mybatis 源码 ① :开篇Mybatis 源码 ② :流程分析Mybatis 源码 ③ :SqlSessionMybatis 源码 ④ :TypeHandlerMybatis 源码 ∞ :杂七杂八

2023-08-14 10:38:32 508

原创 设计模式① :适应设计模式

有时候不想动脑子,就懒得看源码又不像浪费时间所以会看看书,但是又记不住,所以决定开始写"抄书"系列。本系列大部分内容都是来源于《 图解设计模式》(【日】结城浩 著),内容仅用于个人学习记录,可随意转载。......

2022-08-13 15:13:53 490

原创 Java基础 : BlockingQueue浅析

本文仅仅是对 BlockingQueue 的种类和方法进行简单介绍,对于部分实现进行了简单的代码分析。BlockingQueue 即阻塞队列,关于阻塞队列的介绍已经有很多文章,因此这里直接借用Java阻塞队列一文中的介绍。当阻塞队列是空时,从队列中获取元素的操作将会被阻塞。当阻塞队列是满时,往队列里添加元素的操作将会被阻塞。试图从空的阻塞队列中获取元素的线程将会被阻塞,直到其他的线程往空的队列插入新的元素。

2022-07-30 10:22:58 1162 1

原创 Java基础 : CompletableFuture② 代码浅析

在Java基础CompletableFuture①基础使用中我们介绍了CompletableFuture的基础使用,本文来对其代码进行分析,由于个人能力所限并且文章编写时间太长(写了三四个月总被各种事情打断CompletableFuture代表一个执行阶段,一个阶段的执行可能是被单个阶段的完成触发,也可能是由多个阶段一起触发。以下面的代码为例(为例方便讲解,这里把代码写的比较复杂)//输出}CompletableFuture#postComplete会执行清栈操作。......

2022-07-16 10:57:30 1013 1

原创 Java基础 : CompletableFuture① 基础使用

CompletableFuture基本使用,建议阅读原文。本文在个人理解基础上有部分删改,仅用于个人学习记录,限于个人能力本文可能出现错漏,因此再次建议阅读原文CompletableFuture基本使用。CompletableFuture是在阅读Dubbo异步调用时接触到的内容,当时一直对CompletableFuture进行了简单的学习,碍于时间原因一直没有记录,趁现在有时间对CompletableFuture进行更深入的学习并记录。借CompletableFuture基本使用图源。.........

2022-07-16 10:55:54 1424

原创 Spring源码分析二十六 :Actuator 浅析②

本文是笔者阅读Spring源码的记录文章,由于本人技术水平有限,在文章中难免出现错误,如有发现,感谢各位指正。在阅读过程中也创建了一些衍生文章,衍生文章的意义是因为自己在看源码的过程中,部分知识点并不了解或者对某些知识点产生了兴趣,所以为了更好的阅读源码,所以开设了衍生篇的文章来更好的对这些知识点进行进一步的学习。全集目录:Spring源码分析:全集整理在上文 Spring源码分析二十五 :Actuator 浅析① 中我们介绍了 Springboot 中对于 Endpoint 的处理,我们知道了每个端点发现

2022-06-10 16:14:36 1500

securityjwt-old.zip

Spring Security 实现权限控制,加上JWT用户认证

2019-11-02

配置类方式配置SSM框架

通过配置类方式搭建了SSM框架,完全抛弃了xml配置文件

2019-09-04

SpringWebDemo.zip

使用Spring配置类方式配置SSM框架。

2019-09-03

Eurake.zip

Eureka:服务治理组件,包含服务注册中心,服务注册与发现机制的实现。(服务治理,服务注册/发现) Zuul:网关组件,提供智能路由,访问过滤功能 Ribbon:客户端负载均衡的服务调用组件(客户端负载) Feign:服务调用,给予Ribbon和Hystrix的声明式服务调用组件 (声明式服务调用) Hystrix:容错管理组件,实现断路器模式,帮助服务依赖中出现的延迟和为故障提供强大的容错能力。(熔断、断路器,容错)

2019-07-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除