- 博客(201)
- 资源 (4)
- 收藏
- 关注

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

原创 Dubbo源码分析:全集整理
文章目录一、前言二、目录1. 源码篇2. 衍生篇一、前言本文是Dubbo源码分析目录集整理,方便后续查找。本文持续更新中。二、目录1. 源码篇2. 衍生篇
2021-06-17 19:35:36
4175
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
46076
36
原创 【Netty4核心原理③】【 Netty 与 NIO 之前世今生】
本系列内容为阅读《Netty4 核心原理》一书内容总结,内容存在个人删改,仅做个人笔记使用。第三章 Netty 与 NIO 之前世今生</</</</TODO。
2025-03-24 10:41:11
897
原创 【Netty4核心原理②】【Java I/O 演进之路】
本系列内容为阅读《Netty4 核心原理》一书内容总结,内容存在个人删改,仅做个人笔记使用。第二章 Java I/O演进之路</</</</TODO严格来说,前四种 IO 模型都是 同步 IO 操作,他们的区别在于第一阶段,而第二阶段是一样的,在数据从内核拷贝到应用缓冲区期间(用户空间),进程阻塞于recvfrom 调用。
2025-03-13 10:42:43
627
原创 【Netty4核心原理①】【网络通信原理】
本系列内容为阅读《Netty4 核心原理》一书内容总结,内容存在个人删改,仅做个人笔记使用。第一章 网络通信原理</</</</TODO使用 Socket 的目的就是实现 C/S 软件架构的服务端与客户端之间的网络通信。
2025-03-04 16:58:17
1043
原创 【笔记01】【Redis Stream 使用】
Redis Stream 是Redis 5.0消息队列:Redis Stream 可以用作高性能的消息队列。生产者可以将消息添加到流中,消费者可以从流中读取消息进行处理。它支持消费者组的概念,多个消费者可以组成一个组共同消费消息,并且可以记录每个消费者组的消费进度,确保消息不会被重复消费或遗漏。有序日志记录:Stream 中的消息是有序的,每个消息都有一个唯一的 ID,这个 ID 按照添加的顺序递增。这使得它非常适合用于记录系统的操作日志、事件日志等。
2025-02-21 14:13:16
1088
原创 【项目实践07】【多线程下事务的一致性】
本系列用来记录一些在实际项目中的小东西,并记录在过程中想到一些小东西,因为是随笔记录,所以内容不会过于详细。本篇从开篇到完成至少搁置了半年,因此之前的一些想法记不太清楚了。总之:本篇的方案未经过实际验证,谨慎使用。本篇的灵感来源自Spring在多线程环境下如何确保事务一致性,正如其文章内容所属,想实现 多线程下事务的一致性 有多重方案选择,包括最基础的 JDBC 编程、或者 分布式事务思想等,不必局限于此。
2025-02-20 10:51:50
922
原创 【项目实践06】【Retrofit2 框架的使用】
最近项目需要使用coze的功能,因此在引入 coze 提供的 SDK 时看到其使用了 Retrofit2 内容,简单了解后得知 Retrofit2 封装了网络请求功能。巧就巧在目前正在开发的项目中有一个模块功能需要调用大量三方 API,因此决定使用 Retrofit2 来完成 Http 请求。Retrofit2 是一个适用于 Android 和 Java 的类型安全的 HTTP 客户端框架,由 Square 公司开发。
2025-02-17 13:33:51
1076
原创 【MySQL00】【 杂七杂八】
最近在读《MySQL 是怎样运行的》、《MySQL技术内幕 InnoDB存储引擎 》,后续会随机将书中部分内容记录下来作为学习笔记,部分内容经过个人删改,因此可能存在错误,如想详细了解相关内容强烈推荐阅读相关书籍。本篇作为一些补充性内容,会夹杂各方各面的内容,用于记录。因为 MySQL插件式存储引擎的体系结构的关系,MySQL数据的存储是根据表进行的,每个表都会有与之对应的文件。但不论表采用何种存储引擎,MySQL都有一个以 frm 为后缀名的文件,这个文件记录了该表的表结构定义。
2024-09-03 21:25:04
1029
原创 【MySQL08】【死锁】
最近在读《MySQL 是怎样运行的》、《MySQL技术内幕 InnoDB存储引擎 》,后续会随机将书中部分内容记录下来作为学习笔记,部分内容经过个人删改,因此可能存在错误,如想详细了解相关内容强烈推荐阅读相关书籍。
2024-09-03 21:20:03
1254
原创 【MySQL07】【锁】
最近在读《MySQL 是怎样运行的》、《MySQL技术内幕 InnoDB存储引擎 》,后续会随机将书中部分内容记录下来作为学习笔记,部分内容经过个人删改,因此可能存在错误,如想详细了解相关内容强烈推荐阅读相关书籍。
2024-09-03 21:13:50
1245
原创 【MySQL06】【MVCC】
最近在读《MySQL 是怎样运行的》、《MySQL技术内幕 InnoDB存储引擎 》,后续会随机将书中部分内容记录下来作为学习笔记,部分内容经过个人删改,因此可能存在错误,如想详细了解相关内容强烈推荐阅读相关书籍。
2024-07-20 15:43:09
964
原创 【MySQL05】【 undo 日志】
最近在读《MySQL 是怎样运行的》、《MySQL技术内幕 InnoDB存储引擎 》,后续会随机将书中部分内容记录下来作为学习笔记,部分内容经过个人删改,因此可能存在错误,如想详细了解相关内容强烈推荐阅读相关书籍。
2024-07-08 10:22:28
838
1
原创 【MySQL04】【 redo 日志】
最近在读《MySQL 是怎样运行的》、《MySQL技术内幕 InnoDB存储引擎 》,后续会随机将书中部分内容记录下来作为学习笔记,部分内容经过个人删改,因此可能存在错误,如想详细了解相关内容强烈推荐阅读相关书籍。
2024-07-02 14:53:29
1167
原创 【项目实践05】【MySQL 临时表导致磁盘占用100%】
本系列用来记录一些在实际项目中的小东西,并记录在过程中想到一些小东西,因为是随笔记录,所以内容不会过于详细。某年某月某日清晨,某台服务器磁盘告警,使用率达到100%导致服务崩溃。告警的服务器仅仅用来安装了几个中间件,包括 MySQL、RabbitMQ、Nacos等,其中可能产生大量落盘的只有 MySQL 数据落盘 或者 RabbitMQ 消息堆积。通过。
2024-06-20 19:40:02
1354
原创 【MySQL03】【 Buffer Pool】
最近在读《MySQL 是怎样运行的》、《MySQL技术内幕 InnoDB存储引擎 》,后续会随机将书中部分内容记录下来作为学习笔记,部分内容经过个人删改,因此可能存在错误,如想详细了解相关内容强烈推荐阅读相关书籍。
2024-06-03 16:04:18
863
原创 【MySQL02】【 InnoDB 记录存储结构】
最近在读《MySQL 是怎样运行的》、《MySQL技术内幕 InnoDB存储引擎 》,后续会随机将书中部分内容记录下来作为学习笔记,部分内容经过个人删改,因此可能存在错误,如想详细了解相关内容强烈推荐阅读相关书籍由于存储介质的特性,磁盘本身存取就比主存慢很多,再加上机械运动耗费,磁盘的存取速度往往是主存的几百分之一,因此为了提高效率,要尽量减少磁盘I/O。为了达到这个目的,磁盘往往不是严格按需读取,而是每次都会预读,即使只需要一个字节,磁盘也会从这个位置开始,顺序向后读取一定长度的数据放入内存。
2024-05-21 11:13:02
907
原创 【MySQL01】【 Explain 命令详解】
最近在读《MySQL 是怎样运行的》一书,后续会随机将书中部分内容记录下来作为学习笔记,部分内容经过个人删改,因此可能存在错误,如想详细了解相关内容强烈推荐阅读该书。
2024-05-14 17:12:04
1063
原创 【Docker笔记07】【容器监控】
通过docker stats 命令可以很方便的查看当前宿主机上所有容器的CPU、内存、网络流量等数据,可以满足一些小型应用。如下:但是 docker stats 统计结果只能是当前宿主机的全部容器,数据资料是实时的,没有地方存储、没有健康指标过线预警等功能。CAdvisor(监控收集) + InfluxDB(存储数据) + Granfana(展示图表),合称 CIG。
2024-03-31 10:22:40
1962
原创 【Docker笔记06】【容器编排】
本系列是根据学习记录笔记。因为没有视频课件,部分内容摘自。本系列仅为自身学习笔记记录使用,记录存在偏差,推荐阅读原视频内容或本文参考笔记。
2024-03-31 10:22:27
1374
原创 【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
969
原创 【Docker笔记04】【Dockerfile】
本系列是根据学习记录笔记。因为没有视频课件,部分内容摘自。本系列仅为自身学习笔记记录使用,记录存在偏差,推荐阅读原视频内容或本文参考笔记。
2024-03-31 10:21:51
824
原创 【Docker笔记03】【MySQL 与 Redis的主从安装】
本系列是根据学习记录笔记。因为没有视频课件,部分内容摘自。本系列仅为自身学习笔记记录使用,记录存在偏差,推荐阅读原视频内容或本文参考笔记。
2024-03-31 10:21:39
1148
原创 【Docker笔记02】【常用软件安装】
本系列是根据学习记录笔记。因为没有视频课件,部分内容摘自。本系列仅为自身学习笔记记录使用,记录存在偏差,推荐阅读原视频内容或本文参考笔记。本文主要介绍 Tomcat、Mysql、Redis 在 Docker 中的安装过程。
2024-03-31 10:21:22
1019
原创 【Docker笔记01】【基础内容】
Docker的主要目标是:Build, Ship and Run Any App, Anywhere,也就是通过对应用组件的封装、分发、部署、运行等生命周期的管理,使用户的APP及其运行环境能做到一次镜像,处处运行。
2024-03-31 10:21:07
1165
原创 【项目实践04】【RocketMQ消息收发拦截器】
文章目录一、前言二、项目背景三、实现方案1. 关键接口2. 消息发送方3. 消息消费方4. 配置引入类5. 使用示例四、思路扩展1. 消费流程简介一、前言本系列用来记录一些在实际项目中的小东西,并记录在过程中想到一些小东西,因为是随笔记录,所以内容不会过于详细。二、项目背景原本的目的是想实现 MQ 消息之间的 TraceId 追踪。如下两个拦截器可以实现 MQ 消息之间 TraceId 的传递,不过项目后面转用 TLog 。(但是写都写了,不能浪费 )三、实现方案1. 关键接口消息发送方
2024-03-07 19:00:00
2089
原创 设计模式⑩ :用类来实现
一个类在进行工作时会调用自己或其他类的方法,虽然调用结果会反映在对象的状态中,但并不会留下工作的历史记录。这时如果我们有一个类,用来表示“请进行这项工作”的“命令”就会方便很多。每一项的工作就不再是“方法的调用”这种动态处理了,而是一个表示命令的类的实例,即可以用“物”来表示。想要管理工作的历史记录,只需要管理这些实例的集合即可。还可以随时再次执行过去的命令,或者将多个过去的命令整合成一个新的命令并执行。在设计模式中,我们称这样的命令为 Command 模式(命令模式)。Command 有时也会被称为事件。
2024-01-27 17:04:17
1454
原创 设计模式⑨ :避免浪费
有时候不想动脑子,就懒得看源码又不像浪费时间所以会看看书,但是又记不住,所以决定开始写"抄书"系列。本系列大部分内容都是来源于《 图解设计模式》(【日】结城浩 著)。该系列文章可随意转载。Flyweight 即轻量级的意思,如通过尽量共享实例来避免 new 出实例,占用更少的内存的思想。Flyweight 模式 登场的角色Flyweight (轻量级) : 表示那些可以被共享的类。
2024-01-25 10:09:12
1262
原创 设计模式⑧ :管理状态
有时候不想动脑子,就懒得看源码又不像浪费时间所以会看看书,但是又记不住,所以决定开始写"抄书"系列。本系列大部分内容都是来源于《 图解设计模式》(【日】结城浩 著)。该系列文章可随意转载。Observer 即 “观察者”,在 Observer 模式中,当观察对象的状态发生变化时,会通知给观察者。Observer 模式适用于根据对象状态进行相应处理的场景。Subject (观察对象):Subject 角色表示观察对象。Subject 角色定义了注册观察者和删除观察者的方法。
2024-01-24 16:43:44
1160
原创 设计模式⑦ :简单化
有时候不想动脑子,就懒得看源码又不像浪费时间所以会看看书,但是又记不住,所以决定开始写"抄书"系列。本系列大部分内容都是来源于《 图解设计模式》(【日】结城浩 著)。该系列文章可随意转载。一般来说,随着时间推移,程序会变得越来越复杂,这使得程序结构也变得越来越复杂,在使用这些功能时,我们需要先整理清楚他们之间的关系,注意正确的调用顺序。与其如此,不如为这个大型程序准备一个“窗口“,这样就无需关注每个类,只需要简单的对窗口提出请求即可。
2024-01-18 19:29:25
1323
原创 设计模式⑥ :访问数据结构
在 Visitor 模式中,数据结构和数据被分离开来。我们需要编写一个“访问者”的类来访问数据结构中的元素,并把对各元素的处理交给访问者类。这样当需要增加新的处理时,我们只需要编写新的访问者,然后让数据结构可以接受访问者的访问即可。Visitor(访问者):该角色负责对数据结构中每个具体的元素(ConcreteElement角色)声明一个用于访问XXX 的 visit(XXX) 方法。visit(XXX) 是用于处理 XXX 的方法,负责实现该方法的是 ConcreteVisitor 橘色。
2024-01-15 21:45:59
1189
原创 设计模式⑤ :一致性
能够使容器与内容具有一致性,创造出具有递归结构的模式就是 Composite 模式(组合模式)。Composite 模式中登场的角色Leaf (树叶):表示“内容”的角色,在该角色中不能放入其他角色。Composite(复合物):表示容器的角色,可以在其中放入 Leaf 角色和 Composite 角色。Component :使用 Leaf 和 Composite 角色具有一致性的角色。Component 角色是 Leaf 角色和 Composite角色的父类。
2024-01-10 18:41:58
1232
1
原创 设计模式④ :分开考虑
Bridge 模式的作用是将两种东西连接起来,它们分别是 类的功能层次结构 和 类的实现层次结构,但是通常来说,类的层次结构不应当过深。类的功能层次结构 :在父类中具有基本功能,在子类中增加新的功能。这种层次结构成为 类的功能层次结构。类的实现层次结构:父类通过声明抽象方法来定义接口,子类通过实现具体方法来实现接口。这种层次结构称为 类的实现层次结构。Bridge 模式登场的角色。
2024-01-08 19:06:16
1120
原创 设计模式③ :生成实例
有时候不想动脑子,就懒得看源码又不像浪费时间所以会看看书,但是又记不住,所以决定开始写"抄书"系列。本系列大部分内容都是来源于《 图解设计模式》(【日】结城浩 著)。该系列文章可随意转载。想确保任何情况下都绝对只有一个实例想在程序上表现出“只存在一个实例”像这种确保只生成一个实例的模式被称为Singleton 模式。Singleton :在 Singleton 模式中只有这一个角色。Singleton 角色中有一个返回唯一实例的 static 方法,该方法总是会返回同一个实例。
2024-01-05 10:40:45
1220
原创 设计模式② :交给子类
有时候不想动脑子,就懒得看源码又不像浪费时间所以会看看书,但是又记不住,所以决定开始写"抄书"系列。本系列大部分内容都是来源于《 图解设计模式》(【日】结城浩 著),内容仅用于个人学习记录,可随意转载。在父类中定义处理流程框架,在子类中实现具体处理的模式就称为 Template Method 模式。AbstractClass(抽象类):AbstractClass 角色不仅负责实现模板方法,还负责声明在模板方法中所使用到的抽象方法。这些抽象方法由子类ConcreteClass角色负责实现。
2024-01-05 10:39:11
1229
原创 【项目实践01】【请求的路由转发】
本系列用来记录一些在实际项目中的小东西,并记录在过程中想到一些小东西,因为是随笔记录,所以内容不会过于详细。
2023-11-12 14:44:11
440
1
Eurake.zip
2019-07-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人