自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring AOP 核心精讲

/ 切点:拦截所有标注了 @OperateLog 的方法 @Pointcut("@annotation(com.xxx.annotation.OperateLog)") public void logPointCut() {} // 1. 前置通知 @Before("logPointCut()") public void before(JoinPoint joinPoint) {

2026-06-03 10:46:30 629

原创 Spring Boot 三大应用类型与网络 IO 模型深度解析

这是绝大多数后端开发者日常接触最多的类型,平时写的 99% 的后端接口、管理系统都属于此类。</</</底层模型与特点:基于Servlet 规范,其 API 设计是同步的(一个请求对应一个线程从头处理到尾)。但请注意,“同步”指的是编程模型,而非底层网络IO。现代嵌入式 Tomcat 默认使用NIO(非阻塞IO)作为连接器,这意味着它可以用少量线程处理大量连接,只是在请求进入 Servlet 后,业务逻辑仍然是同步执行的。默认容器为 Tomcat(也可切换为 Jetty 或 Undertow)。

2026-06-03 10:45:12 595

原创 Spring Aware接口全家桶:原理与面试全解析

Spring Core 核心精讲:Aware 接口全家桶(原理、场景与面试全攻略)摘要 本文深入解析 Spring 框架中的 Aware 接口机制,主要内容包括: 核心概念:Aware 接口是 Spring 的回调标记接口,允许 Bean 主动感知并获取容器底层资源(如容器工厂、上下文等),打破 Bean 与容器的隔离性。 底层原理:Aware 接口回调发生在 Bean 生命周期的初始化前置阶段,分为两种处理机制 - 基础 Aware 直接调用,上下文 Aware 通过后置处理器反射调用。 三大高频接口:

2026-06-02 10:43:11 579

原创 SpringBoot启动流程深度解析:从源码到实战

认清身份:先搞清楚自己是 Web 应用还是普通应用。准备粮草:加载所有配置(yml、命令行、环境变量)。建好空房:创建一个空的 IOC 容器。绘制图纸:扫描所有 Bean 和自动配置(SPI),生成 BeanDefinition。准备工具:注册所有 Bean 后置处理器(准备处理 Autowired、AOP、事务)。启动引擎:启动内嵌 Tomcat。生产产品:批量实例化所有单例 Bean,走生命周期、解决循环依赖、生成 AOP 代理。收尾工作:执行启动后的回调 Runner。开门迎客。

2026-06-02 09:51:30 459

原创 Spring Boot Bean 原理与底层机制全解析

Spring Boot Bean 原理与底层机制解析 摘要: 本文深入剖析Spring Boot中Bean的核心原理与底层实现机制。主要内容包括: Bean/IOC/DI基础概念,以及BeanDefinition元数据的存储与来源 IOC容器的核心结构,重点解析单例池singletonObjects的实现 Bean完整生命周期的11个关键阶段,特别强调AOP代理在初始化后阶段生成 循环依赖的解决原理,详细讲解三级缓存机制 BeanPostProcessor的作用机制和AOP动态代理的底层实现 SPI自动配置

2026-06-01 10:32:02 466

原创 Spring三种依赖注入方式终极对比

摘要 本文深入解析Spring框架中三种依赖注入方式的原理与区别。构造器注入是官方推荐方式,通过构造方法强制注入依赖,具有线程安全、易测试等优点;Setter注入支持可选依赖和动态替换,但状态可变;字段注入虽简单但隐患多,如强耦合Spring、难测试等。文章还对比了三者特性,并重点分析了循环依赖问题——构造器注入因"先依赖后对象"原则会直接报错,而字段注入通过三级缓存机制可解决循环依赖。最后给出实战建议:强制依赖用构造器注入,可选依赖用Setter注入,避免使用字段注入。

2026-06-01 09:42:13 522

原创 java反射全解

反射(Reflection)是 Java 成为“动态语言”的关键,也是所有主流 Java Web 框架(Spring、MyBatis 等)的底层基石。本文分为**基础原理篇**与**框架实战篇**,从核心 API 用法到框架底层源码拆解,全程结合可运行代码与架构图,助你彻底吃透反射机制!

2026-05-27 08:52:23 689

原创 jdk代理详解

JDK 动态代理是 Java 生态中 AOP(面向切面编程)的基石。无论是 Spring 的事务管理、MyBatis 的 Mapper 接口绑定,还是 Dubbo 的 RPC 远程调用,底层都闪烁着它的身影。掌握动态代理,不仅要会写,更要深入理解其底层字节码生成机制反射 Method 的分发原理以及单继承带来的接口限制。希望本文能帮你彻底打通 JDK 动态代理的任督二脉!有任何问题或不同见解,欢迎在评论区留言交流探讨~```

2026-05-26 10:46:32 768

原创 java-object类详解

Java Object 类核心解析 核心要点 基础地位:Object 类是 Java 所有类的根父类,包含 11 个关键方法 核心方法: equals():对象相等判断(需遵循五大原则) hashCode():哈希计算(与 equals 必须保持一致) toString():对象字符串表示 getClass():获取运行时类型(反射入口) clone():对象克隆(需实现 Cloneable 接口) 现代开发实践: 推荐使用 Lombok 注解简化代码 注意继承关系中的 callSuper 参数 警惕循环引

2026-05-26 09:01:48 720

原创 向量检索核心技术解析

本文深入解析向量检索核心技术,从数学原理到Qdrant实战应用。主要内容包括: 向量特征表示与距离度量:阐述向量本质、特征提取方法,对比余弦相似度、欧氏距离等不同度量方式的适用场景。 ANN近似最近邻算法:分析HNSW(分层导航图)、IVF(聚类分桶)、PQ(向量压缩)三大核心算法的原理,通过菜品特征检索案例直观展示各算法工作流程。 向量索引与元数据索引协同:区分两类索引的不同功能,详解Qdrant中混合检索的实现机制。 Qdrant实战配置:提供基础建库与HNSW参数设置示例,展示高性能向量数据库的实际应

2026-05-25 09:22:00 650

原创 【计网必考/面试必问】霍夫曼编码+LZ77

本文深入解析数据压缩的核心算法与工程应用。首先介绍霍夫曼编码的无损压缩原理,通过字符频率构建最优前缀码,显著减少存储空间。其次详解LZ77算法的滑动窗口机制,用指针替代重复字符串实现高效压缩。最后揭示ZIP文件的底层结构,结合DEFLATE算法(LZ77+霍夫曼)的分层压缩流程,并展示Spring Boot和Java中的实际应用场景。全文贯通理论考试要点与工程实践,涵盖从数据结构基础到网络传输优化的完整知识链。

2026-05-22 09:00:57 772

原创 还在为缓存淘汰策略发愁?一篇讲通

缓存淘汰策略对比摘要 本文系统解析了四种主流缓存淘汰算法: LRU(最近最少使用) 核心:淘汰最久未访问的数据 实现:哈希表+双向链表(O(1)操作) 适用:Redis、浏览器缓存等热点数据场景 缺点:对突发访问敏感,无法区分高频数据 LFU(最少频次使用) 核心:淘汰访问频次最低的数据 实现:双哈希表+频次链表 优势:保护高频数据,抗突发访问 缺点:实现复杂,冷启动问题 ARC(自适应替换) 特点:动态平衡LRU和LFU 优势:自适应调整策略 应用:数据库缓存等复杂场景 W-TinyLFU 改进:解决LF

2026-05-20 09:36:02 594

原创 迭代器模式、外观模式、中介者模式详解

本文介绍了三种常见的设计模式:迭代器模式、外观模式和中介者模式。迭代器模式通过统一接口隐藏集合内部结构,实现解耦遍历;外观模式为复杂子系统提供统一入口,简化调用流程;中介者模式通过中介对象协调多个对象间的交互,降低耦合度。每种模式都包含原理分析、优缺点、适用场景和Java/C++实现代码,并与其他相关模式进行对比,帮助开发者理解设计模式的核心思想和实际应用。

2026-05-19 10:35:19 510

原创 还分不清登录状态?session?cookie?token?进来看看!

本文深入解析了Session、Cookie和Token三者的核心原理与区别。Cookie是浏览器存储的文本载体,Session依赖服务端存储会话数据,而Token(如JWT)则是自包含的无状态字符串。关键区别在于:Session需服务端存储且存在跨域问题,Token天然支持分布式但无法中途作废。Session-Cookie机制易受CSRF攻击,需配合Token校验或SameSite防护;Token方案更适合移动端和跨域场景。架构选型需结合实际需求:传统Web项目可用Session,分布式/跨端项目推荐Tok

2026-05-19 09:45:30 782

原创 命令模式详解

命令模式(Command Pattern)摘要 命令模式是一种行为设计模式,它将请求封装为对象,实现调用者与接收者的解耦。核心思想是将"做什么"和"谁去做"分离,命令对象既知道执行什么动作,又包含撤销逻辑。该模式包含五大角色:命令接口(Command)、具体命令(ConcreteCommand)、调用者(Invoker)、接收者(Receiver)和客户端(Client)。 主要优点包括彻底解耦调用者和接收者、支持撤销/重做/排队操作、符合开闭原则等;缺点是可能导致类爆炸和初期调试成本较高。典型应用场景包括

2026-05-18 10:18:20 619

原创 MySQL 四锁解析(面试必看)

MySQL锁机制与隔离级别详解:三大并发问题(脏读、不可重复读、幻读)通过不同隔离级别解决。MySQL提供四类锁:表锁(全局控制)、元数据锁(防DDL冲突)、意向锁(辅助表锁)、行锁(细粒度控制)。行锁细分为记录锁(锁单行)、间隙锁(防区间插入)、临键锁(默认算法,防幻读)。四大隔离级别由低到高:RU(允许脏读)、RC(防脏读)、RR(默认,防不可重复读和幻读)、SERIALIZABLE(完全串行)。InnoDB通过MVCC+锁组合实现隔离级别,RR级别使用间隙锁和临键锁基本解决幻读问题。生产常用RC(高并

2026-05-18 09:19:15 530

原创 享元模式、原型模式与组合模式通俗精讲

文章摘要: 本文深入解析三种设计模式: 享元模式:通过共享内在状态(如棋子颜色)减少对象数量,外在状态(如坐标)由外部传入,典型应用包括围棋棋子、数据库连接池等资源密集型场景。 原型模式:通过克隆快速复制复杂对象,对比浅拷贝(共享引用)与深拷贝(完全独立)的4种实现方式,适用于对象初始化成本高的场景。 组合模式(未展开):以树形结构处理部分-整体关系,常用于菜单、文件系统等层级数据。 核心总结:享元优化资源复用,原型提升创建效率,组合简化层次管理,三者均通过分离变与不变提升系统性能与可维护性。

2026-05-13 09:49:36 456

原创 Java 全部位运算符 超详细讲解(附源码实战场景)

本文详细讲解了Java中的7种位运算符及其应用场景。主要内容包括: 位运算基础:Java整数以补码存储,位运算直接操作二进制位,执行效率高。 7种位运算符详解: &按位与:用于哈希寻址、奇偶判断、掩码过滤 |按位或:用于凑2的幂次方、权限合并、默认值设置 ^异或:用于变量交换、哈希扰动、简单加密 ~取反:用于数值取反、状态位清除 实战应用场景: HashMap底层大量使用位运算优化性能 权限系统设计中的位运算应用 状态管理中的位操作技巧 性能优势:位运算只需1个CPU周期,比常规算术运算快十几倍。

2026-05-13 08:59:16 582

原创 java函数式编程

Java 8 最重要的新特性之一就是函数式编程,而函数式编程的底层根基就是函数式接口。只要吃透4大核心函数式接口 + 2个高频扩展接口,就能彻底玩转 Lambda 表达式、Stream 流式编程、方法引用,日常开发和面试完全够用。函数式接口定义:有且仅有一个抽象方法的接口,可使用注解标识,支持 Lambda 表达式简化实现。必背四大核心Supplier生产、Consumer消费、Function转换、Predicate判断高频扩展接口BiConsumer双参消费、BiFunction双参转换。

2026-05-12 10:41:22 508

原创 @EnableTransactionManagement注解详细解释

本文详细讲解了Spring事务管理的核心注解@EnableTransactionManagement和@Transactional的原理与应用。@EnableTransactionManagement通过动态代理(JDK/CGLIB)启用事务管理功能,支持配置代理模式(PROXY/ASPECTJ)和事务传播行为。@Transactional注解则提供了事务隔离级别、超时设置、只读事务等丰富属性,并解释了常见误区如同类方法调用失效、异常处理不当等问题。文章还分析了事务管理器、数据源和Mapper之间的层次关系

2026-03-30 17:24:07 519

原创 @SpringBootApplication阅读笔记

本文深入解析了SpringBoot核心注解@SpringBootApplication的组成与功能。

2026-03-15 13:43:32 711 1

空空如也

空空如也

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

TA关注的人

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