自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java 内置观察者模式

内部遍历Vector有序推送,不能调整观察者回调顺序;同步阻塞推送,一个观察者耗时过长会阻塞后续所有观察者。

2026-07-29 18:09:46 240

原创 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 Security系列之入门

【代码】Spring Security系列之入门。

2026-04-18 14:33:54 381

原创 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

原创 微服务之JAVA8版本管理

【代码】微服务之JAVA8版本管理。

2026-04-15 14:42:56 461

原创 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 锁问题排查

能直接定位:锁了哪张表、哪一行。,发现死锁要立刻保存。

2026-04-14 10:11:37 222

原创 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

原创 生产问题之内存泄漏

适用:拿到dump.hprof后,

2026-04-13 11:22:26 254

原创 产线问题排查之arthas

全程,可直接在生产环境使用。

2026-04-13 11:19:42 187

原创 线上生产系统 OOM 监控、定位与解决全流程

先看 GC 确认趋势 → jmap 看对象分布 → dump 分析 GC Roots 找引用链 → 结合代码定位泄漏/大对象 → 优化集合、线程池、查询逻辑 + 限流扩容。

2026-04-13 11:15:27 148

原创 NIO 三大核心组件

Buffer:装数据Channel:传数据Selector:管连接。

2026-04-12 21:09:05 231

原创 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

原创 信号(Signal) vs 信号量(Semaphore)

完全不是一个东西,只是名字像。

2026-04-11 15:23:49 74

原创 操作系统之进程间通信

用于同一台机器上不同进程之间交换数据、同步状态。因为进程有独立虚拟地址空间,不能直接互相访问内存,所以必须通过内核/共享介质通信。

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

原创 操作系统之系统调用

系统调用就是用户程序向内核“申请服务”的受控入口,是用户态与内核态之间的桥梁。

2026-04-10 13:57:28 340

原创 操作系统核心组件

核心本质内核是资源管理者,通过宏/微/混合架构实现性能与稳定的权衡。核心能力进程、内存、设备、文件、网络五大子系统 + 系统调用接口。核心机制态隔离、中断、虚拟内存、调度、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关注的人

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