- 博客(78)
- 收藏
- 关注
原创 Spring Bean 三层缓存
/ 1. 一级缓存:成品完整Bean池// 2. 二级缓存:半成品早期Bean(已实例化、未填属性)// 3. 三级缓存:Bean工厂ObjectFactory(延迟生成代理/原始对象)
2026-07-20 17:02:15
234
原创 设计模式四大基本原则
对扩展开放,对修改关闭。子类可以完全替换父类出现在程序任意位置,替换后程序行为不会出错。高层模块不依赖低层模块,二者都依赖抽象(接口/抽象类);抽象不依赖实现,实现依赖抽象。
2026-07-20 16:49:52
250
原创 微服务接入nacos 踩坑指南
Nacos 通识普及:https://nacos.io/docs/v2/plugin/auth-plugin/? spm=5238cd80.7e0be31.0.0.4778cd362h8lD0启动脚本:
2026-07-17 17:08:49
169
原创 AI系列一
Subagents 也是一种上下文注入,它是另起一个对话,在自己独立的上下文窗口里跑,跑完只把最终结果返回给主会话,所以从主会话角度来看,的上下文成本是零;于是模型从几个看起来合理的候选里猜了一个,输出的东西形式上很像真的,但可能是错的。你写的每一行,不管这次任务用不用得上,都在消耗上下文窗口。我们设想一下,如果让 AI 给出某政策文件第 18 条原文,但模型训练的时候又没有训练到,那么会发生什么?第一种是参数记忆,也就是模型训练时读过的海量内容,被压缩进了模型权重里,这是广义上的上下文。
2026-07-17 16:58:29
171
原创 Spring AI Function Call(Tools)4 种实现方式
函数式编程风格,入参出参明确,兼容新旧版 Spring AI。直接变成 AI 工具,零学习成本。
2026-04-27 19:23:33
216
原创 Spring Security的会话管理
Spring Security的会话管理在保障应用程序安全方面起着至关重要的作用,它负责管理用户会话的创建、维护和销毁等操作。
2026-04-21 13:51:45
281
原创 Spring Security之核心安全过滤器
Spring Security的核心安全过滤器是其实现认证和授权等安全功能的关键组件。下面以和这两个重要的过滤器为例,进行源码分析。
2026-04-18 14:41:19
202
原创 Spring Boot 启动流程中的核心扩展点
(启动监听)(上下文初始化)(Bean 定义后处理)(Bean 实例化后处理)(Bean 初始化)(应用启动后执行)
2026-04-15 16:45:15
109
原创 springboot2.7.x 系列之配置文件加载
最终中的命令行参数Nacos 配置) - 如果存在- 特定环境配置- 默认配置- Bootstrap 配置系统环境变量系统属性是配置加载的入口,负责初始化并触发监听器。Bootstrap 上下文通过独立机制加载和 Nacos 配置,优先级高于。Nacos 集成通过动态注入远程配置,实现配置的集中管理。配置优先级由列表顺序决定,命令行参数 > Nacos >> 系统属性。
2026-04-15 14:52:05
352
原创 springboot 启动原理
通过 SpringApplication 准备环境、创建容器、利用 SpringApplicationRunListeners 在生命周期各阶段发布事件,最终通过 refresh() 完成 IoC 初始化并启动 Web 服务器,最后执行 Runner 并发布就绪事件。
2026-04-15 14:06:32
441
原创 spring web 之 Undertow
Undertow = 高性能 + 极轻量 + 纯异步 NIO如果你在做Java 微服务/高并发 Web,优先选 Undertow。SpringBoot 切换成本极低,性能与资源占用远优于 Tomcat。
2026-04-15 13:27:56
194
原创 mysql之EXPLAIN
MySQL EXPLAIN 是SQL优化的核心工具,能分析执行计划、索引使用、扫描行数等关键信息。重点掌握执行计划字段:type(索引效率等级)、key(实际使用索引)、rows(扫描行数)和Extra(额外信息)。优化标准包括避免ALL全表扫描、消除Using temporary/filesort、确保索引命中。常见索引失效场景有函数操作、隐式转换、违反最左前缀等。MySQL 8.0+的EXPLAIN ANALYZE提供更精准的实际执行数据。优化套路是检查type、key、Extra和rows,针对问题加
2026-04-14 09:47:31
206
原创 mysql之日志篇
Redo Log:已提交不丢(崩溃恢复)Undo Log:未提交可回(原子性+MVCC)Binlog:全变更可追溯、可复制(主从+恢复)
2026-04-14 09:40:49
238
原创 mysql8之InnoDB Buffer Pool
Buffer Pool 是 InnoDB 的内存缓存核心,通过冷热分离 LRU 避免热数据被淘汰,通过 WAL 异步刷脏页提升性能,预读减少磁盘 IO,是 MySQL 高并发低延迟的基石。
2026-04-14 09:30:45
279
原创 MySQL之MVCC
MVCC 通过事务ID、回滚指针、undo 版本链和一致性视图 Read View,实现无锁并发快照读;RR 共用一个视图,RC 每条SQL建新视图;读写不阻塞、写写互斥,是 InnoDB 高并发的核心机制。1)next-key lock 原理(临键锁)2)幻读到底怎么解决3)MVCC + 锁 完整并发控制体系。
2026-04-14 09:30:25
269
原创 mysql8之单次查询结果太大
/ 流式查询注解版放弃全量加载,使用流式查询 + ResultHandler + fetchSize,让数据库逐条推送数据,JVM 永远只持有单条记录,从根源避免 OOM。
2026-04-13 16:59:12
113
原创 MySQL 8.0 连接器
MySQL8 连接器是 Type4 纯 Java 驱动,基于 TCP + MySQL 协议连接 = TCP 长连接,必须池化认证从 native 升级为 sha256,SSL 默认开启产线性能三板斧:HikariCP 合理池大小安全三板斧:SSL 加密禁止多语句连接泄漏检测高可用:多主机 + 故障转移 + 读写分离。
2026-04-13 16:56:35
238
原创 线上生产系统 OOM 监控、定位与解决全流程
先看 GC 确认趋势 → jmap 看对象分布 → dump 分析 GC Roots 找引用链 → 结合代码定位泄漏/大对象 → 优化集合、线程池、查询逻辑 + 限流扩容。
2026-04-13 11:15:27
148
原创 TCP之MYSQL大量TIME_WAIT
大量 TIME_WAIT = 短连接太多 → 先上连接池,再调系统内核与 MySQL 超时。要不要我根据你的系统(Linux/Windows)和语言(Java/Go/PHP)给你一份可直接复制的连接池配置 + sysctl.conf 优化模板?
2026-04-12 21:05:39
285
原创 TCP之SYN洪泛攻击
SYN洪泛是最经典、最常见的网络层DDoS攻击之一,核心是利用TCP协议"先分配资源,后验证连接"的设计缺陷。防御关键启用SYN Cookie + 流量清洗 + 内核调优,形成多层防护体系,有效抵御半连接耗尽型攻击。
2026-04-12 21:01:20
305
原创 TCP 可靠传输之流量控制
接收方收到数据包2,发送ACK(ack=600,确认所有数据),实现仅重传丢失数据,减少网络带宽浪费。TCP 流量控制是端到端的控制机制(仅发生在发送方与接收方之间),核心目的是:让发送方的发送速率,匹配接收方的接收能力,避免接收方因缓冲区满,无法接收新数据,导致数据丢失,从而保障 TCP 传输的可靠性。TCP 拥塞控制是全网范围的控制机制,核心目的是:让发送方的发送速率,匹配网络的传输能力,避免因发送方发送速率过快,导致网络链路拥堵、数据包丢失(如路由器缓存满),从而保障 TCP 传输的可靠性。
2026-04-12 20:54:46
254
原创 协议之TCP
服务端收到客户端的 FIN(第一次挥手)后,可能还有未传输完的数据,不能立即发送 FIN(无法同时确认关闭请求 + 发起关闭),只能先回复 ACK(第二次挥手),等数据发完后,再发送 FIN(第三次挥手),最后客户端确认(第四次挥手),因此需要四次。假设两次握手:客户端发送的 SYN(连接请求)因网络延迟,很久后才到达服务端,服务端以为是新请求,回复 SYN+ACK 后就建立连接、占用资源,但客户端早已超时关闭,服务端会一直等待客户端数据,造成资源泄漏。服务端状态变为 LAST_ACK(等待客户端确认)。
2026-04-11 16:00:16
326
原创 HTTP 请求与响应全过程
输入 URL → DNS 解析 IP → TCP 三次握手 → 发 HTTP 请求 → 服务器处理 → 返回响应 → 浏览器渲染 → TCP 四次挥手。
2026-04-11 15:53:03
229
原创 操作系统之进程间通信
用于同一台机器上不同进程之间交换数据、同步状态。因为进程有独立虚拟地址空间,不能直接互相访问内存,所以必须通过内核/共享介质通信。
2026-04-11 15:23:14
157
原创 技术架构之HTTP 大文件传输
大文件为什么要分片?避免 OOM、支持断点续传、提高上传成功率。秒传实现原理?文件 MD5 唯一标识,后端判断文件已存在则直接返回成功。断点续传如何实现?按文件 MD5 建立分片目录,记录已上传分片索引。为什么使用零拷贝?减少用户态/内核态拷贝,降低 CPU 占用,提升合并速度。HTTP 大文件下载如何优化?使用,底层走sendfile零拷贝,支持Range断点下载。
2026-04-11 15:22:38
265
原创 操作系统之虚拟内存
虚拟内存(Virtual Memory)详解及Linux生产环境配置建议一、虚拟内存基础介绍1.1 核心定义虚拟内存(Virtual Memory)是操作系统提供的一种内存管理技术,核心作用是让运行的程序“以为自己独占一大片连续的内存空间”,而实际这片空间由操作系统动态映射到物理内存(RAM)或磁盘(Swap分区/文件),从而实现“更大、更安全、更灵活”的内存使用模式。本质:虚拟内存 = 物理内存 + 磁盘Swap空间,通过地址映射机制,屏蔽物理内存的限制和碎片化问题。1.2 核心作用。
2026-04-10 14:11:19
465
原创 操作系统核心组件
核心本质内核是资源管理者,通过宏/微/混合架构实现性能与稳定的权衡。核心能力进程、内存、设备、文件、网络五大子系统 + 系统调用接口。核心机制态隔离、中断、虚拟内存、调度、IPC支撑多任务与安全。
2026-04-10 13:54:03
379
原创 HashMap、Hashtable、ConcurrentHashMap 核心对比
单线程→ 用HashMap高并发→ 用Hashtable→ 基本废弃,不要用。
2026-04-10 13:40:46
529
原创 微服务之限流,熔断,降级
Spring Cloud Sentinel 核心知识细化梳理一、Sentinel 核心定位与核心价值Sentinel 是阿里巴巴开源的微服务高可用流量治理组件,核心定位是「流量控制、熔断降级、系统保护」,替代传统的Hystrix,为微服务架构提供全方位的流量防护,避免因流量峰值、服务异常导致的系统雪崩。核心价值:无需手动编写复杂的熔断降级逻辑,通过配置化、注解化的方式,快速实现流量控制、熔断降级、热点防护、系统自适应保护等功能,保障微服务在高并发、高压力场景下的稳定性。
2026-04-10 12:41:15
409
原创 微服务之Spring Cloud OpenFeign
一、OpenFeign 核心定位与本质Spring Cloud OpenFeign 是 声明式、模板化的HTTP客户端,基于Netflix Feign封装优化,整合Spring Cloud生态,核心目标是简化微服务间远程调用开发。核心优势:无需手动拼接URL、封装请求参数、解析响应结果,仅需通过注解声明接口,即可像调用本地方法一样调用远程服务,降低微服务通信的开发成本,提升代码可读性与可维护性。
2026-04-08 11:41:11
706
原创 微服务之Spring Cloud LoadBalancer
Spring Cloud LoadBalancer 是 现代微服务客户端负载均衡的首选方案,轻量、可靠、响应式、易扩展,完美替代停更的 Ribbon。Spring 官方推出的 客户端负载均衡器,自 Spring Cloud 2020.0.0 起,替代 Netflix Ribbon 成为默认方案,适配微服务架构,轻量、响应式、持续维护。开启饥饿加载(eager-load),预加载指定服务的实例列表。核心逻辑:服务消费者本地缓存服务列表,按策略选择实例直接调用,无中间转发,避免中心单点。
2026-04-08 11:25:07
456
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅