自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 AQS底层浅析

AQS(AbstractQueuedSynchronizer)是Java中实现同步器的核心框架,通过状态变量state和FIFO等待队列管理线程同步。主要特性包括: 同步状态state通过volatile变量和CAS原子操作实现线程安全访问; 等待队列采用双向链表结构管理阻塞线程; 支持独占(如ReentrantLock)和共享(如Semaphore)两种同步模式; 获取锁流程包含多次尝试获取、入队和阻塞唤醒机制,非公平锁会优先尝试快速获取; 通过Unsafe类实现底层原子操作,依赖CPU指令保证CAS原子

2025-06-04 09:59:32 442

原创 Filter和Interceptor详解(一文了解执行阶段及其流程)

Filter 与 Interceptor 的区别 Filter 属于 Java Servlet 规范,作用于 Web 容器层,拦截所有 HTTP 请求;而 Interceptor 是 Spring MVC 组件,仅拦截 Controller 请求。Filter 在请求进入 DispatcherServlet 前执行,通过 doFilter 方法实现请求/响应处理。Interceptor 则在 Controller 前后分阶段执行,提供 preHandle、postHandle 和 afterCompleti

2025-05-26 16:58:20 834

原创 SpringMVC(结合源码浅析工作流程)

Spring MVC是基于前端控制器()设计模式的 Web 框架,在 Web 应用中指一个统一的入口,用来接收所有客户端请求,并统一进行分发、处理。在SpringMVC中,前端控制器就是Controller。

2025-05-23 19:56:09 905 2

原创 ThreadLocal底层原理解析

是Java中提供的一种机制。它可以让每个线程都拥有自己独立的变量副本,互不干扰。

2025-05-22 13:34:49 1160

原创 JVM梳理(逻辑清晰)

(, 虚拟机)是一个可以运行 字节码的虚拟计算机核心作用:实现跨平台(“一次编写,到处运行”), 是平台相关的(Linux、Windows、macOS 都有对应实现),所以只要有 , 程序就能运行在任何平台上。在虚拟机的架构中有三个主要的子系统下面将依次介绍类加载的过程主要分为以下五点:加载、验证、准备、解析、初始化通过类加载器读取 文件字节流,并生成 对象,每个加载器+每个类对应一个唯一的对象 对象是 类的元数据 的载体,记录了一系列的元数据,大致了解一下:类的加载是一个递归的过程,当一个类被加载后

2025-05-21 13:12:08 1530

原创 经典限流算法实现(结合AOP+注解以及拦截器)

想限制瞬时请求量 ➜ 用窗口法想限制整体处理速率 ➜ 用令牌桶或漏桶有突发请求但能缓冲 ➜ 用令牌桶需要严格匀速处理 ➜ 用漏桶参考链接:https://juejin.cn/post/7209504489010430010。

2025-05-16 13:09:44 728

原创 Kubernetes使用教程(结合实践理解关键概念)

k8sk8s。

2025-05-13 23:20:48 1261

原创 线程池(结合源码了解底层)

/线程的状态主线程池控制状态ctl是一个原子整数(:记录的理论上应该存在的工作线程数,而线程池中实际活跃的线程数量pool size),是由内部workers集合来维护的,实际活跃线程数可能暂时与该值不同(后面提交任务会提到原因)runState:表示线程池的运行状态,如运行中、关闭中等。;线程池的状态占用Integer的高三位;的上限限制为(2^29) - 1(大约 5 亿个线程);如果需要支持更多线程,可以将ctl改为AtomicLong,同时调整相关的位移和掩码常量。

2025-05-11 20:38:30 1035

原创 MySQL同步数据到ELasticSearch实践(使用Logstash和Canal两种方式)

基于数据同步功能使用进行安装,确保所有容器在同一个网络中中我在数据库中创建了表安装ELasticSearch创建文件参数说明:启动可以进入的webUI:http://localhost:5601/app/home#/(可选,对后续不影响)安转,包含分析器: , , 分词器: , 创建SpringBoot项目中添加es依赖增加es配置项创建一个 的接口,用于操作 中的 索引。在中,我们只需要在接口中声明方法,框架会根据方法名自动为我们生成实现。例如: 这个方法使用了的查询方法命

2025-05-09 19:36:31 969

原创 Spring循环依赖(简单明了)

成功完成注入,最后放入单例池中以及从二级缓存中删除。此时,这个对象还没有进行属性填充和初始化。这个阶段会生成一个代理对象,最终加入单例池的。时,首先会实例化A,这时候调用构造器生成一个。(容器从一二三级缓存的顺序查找的),但此时。就被放入一级缓存,同时从二三级缓存中删除,,先去缓存池中找,如果没有找到则开始创建。已经存在于一级缓存中,可以直接注入。互相引用对方,形成依赖闭环,像下面这样。的早期引用,完成属性填充和初始化,然后。这时候,容器会尝试从一级缓存中获取。,如果这里也没有,就会去三级缓存。

2025-05-08 22:34:57 652

原创 IO模型详解(select、poll、epoll伪代码剖析)

用户空间的程序不能直接访问内核空间。当想要执行 IO 操作时,由于没有执行这些操作的权限,只能发起系统调用请求操作系统帮忙完成。因此,用户进程想要执行 IO 操作的话,必须通过来间接访问内核空间。当应用程序发起 I/O 调用后,会经历。

2025-05-06 21:26:06 1240

原创 Docker底层原理解析(易理解版)

Docker 采用了C/S架构,包括客户端和服务端。Docker 守护进程 (Daemon)作为服务端接受并处理来自客户端的请求。dokcer的工作流程,以ngnix为例nginxDaemon。

2025-04-30 14:55:24 696

原创 MCP的SSE的底层通信原理(给出了不使用SDK实现mcp服务器的示例)

是一种基于 HTTP 协议的服务器推送技术,允许服务器通过单向的方式向客户端发送实时更新的数据流。SSE与WebSocket作用相似,都是建立浏览器与服务器之间的通信渠道,然后服务器向浏览器推送信息。总体来说,WebSocket更强大和灵活。因为它是全双工通道,可以双向通信;SSE是单向通道,只能服务器向浏览器发送,因为流信息本质上就是下载。如果浏览器向服务器发送信息,就变成了另一次 HTTP 请求。stdio中可以使用stdin来进行输入,使用stdout来进行输出。但是SSE是单向通道,MCP。

2025-04-29 13:13:50 641

原创 LLM项目实战-医疗智能体(从0到1实现,针对小白)

适用场景:当聊天记忆中包含多样化的信息,如文本消息、图片、语音等多媒体数据,或者。

2025-04-27 20:03:34 2277 5

原创 MySQL索引总结(小白也能看懂)

我们在进行模糊查询的时候,如果把 % 放在了前面,最左的 n 个字母便是模糊不定的,无法根据索引的有序性准确的定位,只能进行全表扫描,找出符合条件的数据。(创建 1 个联合索引相当于创建了 3 个索引),包含这些列的所有查询都会走索引而不会全表扫描。唯一索引的属性列不能出现重复的数据,但是允许数据为 NULL,一张表允许创建多个唯一索引。前缀索引是对文本的前几个字符创建索引,相比普通索引建立的数据更小,因为只取前几个字符。的字段,如果有,则选择该字段为默认的主键,否则。的表中,当没有显示的指定表的主键时,

2025-04-22 19:35:41 950

原创 慢SQL(原因、以及怎么跟踪)

当被驱动表的没有使用索引的时候,MySQL 会先将驱动表读出来放到 join buffer 中,再遍历被驱动表与驱动表进行查询。这列包含了 MySQL 解析查询的额外信息,通过这些信息,可以更准确的理解 MySQL 到底是如何执行查询的。通过查看这些日志,你可以找到执行较慢的查询。:预计从这个表中读取多少行来处理查询(基于统计信息估算的,不一定准确)可能用到的索引、实际使用到的索引、索引字段的长度。(所以慢查询日志中记录的SQL并不一定都是不正常的),当排序字段不是索引时,无法使用索引排序。

2025-04-21 21:03:04 940

原创 分布式ID详解(一站式)

虽然做了一些努力,但是Leaf并没有完全解决时钟回拨问题。我们看下面两个场景:启动前,服务器时间进行了回拨;启动时连接。

2025-04-17 20:24:15 994

空空如也

空空如也

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

TA关注的人

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