- 博客(11)
- 收藏
- 关注
原创 Spring Security 深度解析:Spring全家桶中关于认证和鉴权的重量级安全框架
Spring Security 是 Spring 生态中用于安全控制的核心框架,它提供了强大的认证(Authentication)和授权(Authorization)功能。很多开发者只是“配置”它,却不清楚其底层原理。本文将带你深入 Spring Security 的核心机制与源码实现,帮助你真正理解其工作原理,便于日后复习和面试应对。@Bean@Bean@Beanhttp// 开发时可关闭,生产建议开启模块核心知识点认证→→→授权Voter上下文使用存储认证信息过滤器链顺序固定,
2025-08-02 17:02:38
770
原创 【MySQL】 MySQL事务管理:ACID、隔离级别与最佳实践
扣减商品库存创建订单扣除用户余额生成物流单如果这些操作不是原子的库存被扣了订单生成了但用户钱没扣!商家损失了商品!事务(Transaction)就是为了解决这类问题而生的。它把一系列操作打包成一个不可分割的工作单元,要么全部成功,要么全部失败回滚,确保数据始终处于一致状态。主题关键点ACID原子性(Undo)、一致性(目标)、隔离性(锁+MVCC)、持久性(Redo)隔离级别RR(默认)防脏读/不可重复读/幻读;RC性能高但有不可重复读风险MVCC。
2025-07-30 16:45:00
1078
原创 【MySQL】深入理解MVCC:MySQL如何实现非阻塞读?
你是否遇到过这种情况?-- 事务1(长时间运行)-- 开始统计总余额 (耗时10秒)-- ... 10秒后统计完成-- 与此同时,事务2COMMIT;-- 立即完成问题:事务2在事务1统计过程中修改了数据,事务1最终统计的总余额会包含这100元吗?答案不会!事务1看到的仍然是修改前的数据。事务1的SELECT语句并没有阻塞事务2的UPDATE操作!👉 这就是MVCC(Multi-Version Concurrency Control,多版本并发控制)的魔力!它让读操作(SELECT无需加锁。
2025-07-30 11:15:00
1039
原创 【MySQL】深入理解MySQL锁机制:从行锁、表锁到死锁
想象一个银行转账场景:用户A向用户B转账100元。事务1:A账户减100元事务2:B账户加100元如果这两个操作同时被多个线程执行A扣了两次钱,但B只收到一次→数据不一致!锁(Lock)就是MySQL用来保证并发安全和数据一致性的核心机制。它确保在并发环境下,多个事务对同一数据的访问是有序、可控的。两个或多个事务互相等待对方释放锁,导致所有事务都无法继续。sql深色版本-- 事务1-- 锁住A-- 等待B(被事务2锁住)-- 事务2-- 锁住B。
2025-07-30 08:15:00
2154
原创 【MySQL】从零开始深入理解MySQL索引:原理、类型与优化
本文系统讲解MySQL索引的核心知识,从概念到实战应用。首先通过生活案例类比解释索引作用,然后深入分析B+树作为MySQL索引底层结构的原因及特点。文章详细介绍了常见索引类型(主键、唯一、组合等)及创建方法,并重点讲解索引设计黄金法则,包括最左前缀原则、避免函数运算等。通过慢查询优化案例演示索引的实际效果,同时提醒盲目添加索引的代价。最后总结索引的核心要点,帮助读者在查询性能与存储成本之间找到平衡点。全文强调理论与实践结合,适合希望深入理解MySQL索引机制的中级开发者。
2025-07-30 00:16:21
822
原创 【Java SE 复盘】Java 集合框架之泛型详解
本文梳理了Java泛型的关键知识点,从基础概念到高级应用。泛型通过类型参数化提升代码安全性和可读性,避免强制类型转换。文章详解了泛型类/方法、通配符(PECS原则)、类型擦除等核心内容,特别指出上界通配符<? extends T>只读、下界<? super T>只写的特点,并解释了类型擦除导致的运行时限制。最后总结了泛型在集合框架中的重要作用及常见使用误区,帮助开发者正确运用泛型编写更健壮的代码。
2025-06-30 17:21:58
632
原创 【JavaSE 复盘】集合框架底层原理与常见陷阱从 List、Set 到 Map
本文深入解析Java集合框架的核心实现与使用要点。主要内容包括:ArrayList基于动态数组实现,默认扩容50%,建议预估初始容量提升性能;LinkedList采用双向链表,插入删除高效但随机访问慢;HashSet通过hashCode和equals实现去重,TreeSet支持自然或定制排序;HashMap在JDK8优化为链表+红黑树结构,ConcurrentHashMap采用分段锁/CAS保证线程安全;特别强调迭代遍历时应使用迭代器删除,避免ConcurrentModificationException。
2025-06-26 12:20:51
1211
原创 【JavaSE 复盘】异常处理机制详解
《Java异常处理机制精要》摘要:本文系统梳理Java异常处理核心知识,涵盖异常体系结构、try-catch-finally执行机制(包括JDK7+的try-with-resources)、throw与throws区别、自定义异常实践等。重点解析finally执行顺序(可能不执行的4种特殊情况)和return覆盖问题,并针对6道高频面试题给出深度解答。文章指出常见误区:如finally并非绝对执行、避免笼统捕获Exception、慎用finally中的return等,同时强调应优先捕获具体异常、合理使用异常
2025-06-26 11:55:08
1103
原创 【Java SE 复盘】Java面向对象编程基础:类与对象的创建
本文系统梳理了Java类与对象的核心概念,重点解析构造方法机制、this与super的使用规则、静态成员特性等常见面试考点。关键点包括:构造方法私有化实现单例模式;this()和super()的调用限制(必须首行且不能共存);静态方法不能访问非静态变量;静态方法不支持多态等。文章通过代码示例揭示常见误区,并解答了构造方法继承性、访问权限控制等高频面试问题,帮助开发者深入理解面向对象编程基础,掌握正确的类设计原则。
2025-06-24 17:45:05
849
原创 【Java SE 复盘】Java中的基本数据类型与包装类全解析
Java基本数据类型与包装类核心知识点解析:1. 基本类型(int等)与包装类(Integer等)的核心区别在于存储方式、null值和性能表现;2. 自动装箱拆箱机制及Integer缓存池特性(-128~127);3. 常见陷阱包括null指针异常和==/equals使用误区;4. 包装类在集合中的应用原因(泛型限制);5. 面试必备:缓存池原理、安全比较方法、自动转换时机等高频考点。掌握这些知识能有效避免实际开发和面试中的常见错误。
2025-06-24 15:26:58
1002
原创 【Java SE 复盘】一个实习生的技术复盘之旅 -- 开篇
《JavaSE专栏》是一位即将找实习的Java程序员开设的学习专栏,旨在通过写作巩固基础、提升技术表达能力。专栏面向Java初学者、应届生和开发者,内容涵盖JavaSE核心知识,包括基础语法、集合框架、多线程等模块,以实用和面试为导向,配有代码示例。作者希望通过这个专栏记录成长,为成为优秀Java开发者打下基础,并欢迎读者交流学习。
2025-06-24 15:24:25
306
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅