- 博客(41)
- 资源 (35)
- 问答 (2)
- 收藏
- 关注
原创 五分钟背一个面试题:谈谈你对 Spring IoC 和 DI 的理解
本文用生活化类比深入讲解 Spring IoC 和 DI 的核心概念。将 IoC 比作"从自己做饭到点外卖"的思想转变——将对象创建控制权交给容器;将 DI 比作"外卖小哥送货上门"的具体实现。文章对比了构造器、Setter、字段三种注入方式,介绍了 Bean 生命周期、三级缓存解决循环依赖等关键机制,并给出可直接使用的面试口语回答模板。
2026-07-21 15:33:36
353
原创 一篇文章啃掉一块硬骨头:Java 并发编程实战
以奶茶店运营为引,本文系统梳理了 Java 并发编程的核心知识体系。从进程/线程基础、线程安全三大特性(原子性、可见性、有序性)入手,逐步深入到 synchronized 锁升级机制、JUC 锁体系、线程池原理与 AQS 源码探秘。随后讲解 CompletableFuture 异步编程如何告别回调地狱,以及 Java 21 虚拟线程如何以 M:N 调度突破"一个请求一个线程"的资源瓶颈。最后结合实战场景,给出并发问题的排查思路与最佳实践,帮助开发者从会用晋升到能用好。
2026-07-21 14:32:27
420
原创 一篇文章学会一个知识点:Java 类加载机制
本文系统讲解 Java 类加载机制:从加载、验证、准备、解析、初始化五个阶段拆解类的生命周期;介绍三层类加载器及双亲委派模型的工作原理;分析 JDBC SPI、Tomcat 等打破双亲委派的经典案例;最后结合面试高频题和线上故障排查,帮助读者从原理到实战全面掌握类加载机制。
2026-07-21 11:44:48
438
原创 Java 开发者应知应会的 Linux 常用开发命令汇总
本文是一份 Java 开发者转型 Agent 工程师的完整指南。文章指出 Java 开发者的接口设计、依赖注入等功底与 Agent 开发天然相通,只需补齐 Python 即可快速入门。通过 LangChain4j 实战演示了构建 Agent 的三板斧——配模型、加工具、接记忆,并给出从 Python 入门到 Multi-Agent 协作的六阶段转型路线图,助力 CRUD 开发者进化成 AI 时代的 Agent 工程师。
2026-07-20 14:39:47
489
原创 Java开发者对 TCP 协议,应该知多少?
本文从Java开发者视角深度解析TCP协议核心机制:以三次握手建立可靠连接、四次挥手优雅断开,详解确认应答、超时重传、滑动窗口等可靠传输原理,对比流量控制与拥塞控制的区别。同时结合实战场景,介绍Java中BIO到NIO再到Netty的Socket编程演进,并针对TIME_WAIT堆积、CLOSE_WAIT泄漏、粘包拆包等常见线上故障给出排查思路与优化方案。
2026-07-19 17:18:43
397
原创 一篇文章啃掉一块硬骨头:数据库分库分表策略全解
本文系统讲解分库分表策略:从单表性能瓶颈入手,对比垂直拆分(按业务列拆分)与水平拆分(按数据行拆分)两种思路;深入分析 Range、Hash、一致性哈希、地域分片四种水平分片策略的优劣与选型;介绍 ShardingSphere-JDBC 等中间件的落地方式;并剖析分片后面临的全局 ID 生成、跨分片查询、分布式事务、数据迁移等连环坑及应对方案。核心观点:分库分表是用复杂度换性能的终极手段,能不分就不分。
2026-07-18 17:05:08
443
原创 一文通解:数据结构之 栈
本文从生活场景"叠盘子"切入,系统讲解栈的 LIFO 原理、数组与链表两种 Java 手写实现,以及 Deque 替代 Stack 的最佳实践。通过浏览器后退、撤销操作、括号匹配、表达式求值等经典应用,深入 JVM 方法调用栈帧机制与 StackOverflowError 原理,并结合最小栈、单调栈等 LeetCode 高频面试题,帮助 Java 开发者从底层到面试全面掌握栈。
2026-07-18 16:32:02
352
原创 一篇文章掌握一个技能:MyBatis-Plus 效率翻倍利器与高频面试题精讲
本文系统介绍 MyBatis-Plus 如何通过 BaseMapper 和 IService 自动生成单表 CRUD,省去手写样板 SQL。涵盖条件构造器(推荐 LambdaQueryWrapper)、物理分页插件、逻辑删除、乐观锁、自动填充、代码生成器等核心功能,并总结常见踩坑场景与 10 道高频面试题。核心原则:简单操作用 MP,复杂 SQL 仍手写,二者共存互补。
2026-07-17 11:05:30
395
原创 一篇文章带你速通 Java 8 - 26 的核心新特性全解
本文系统梳理了 Java 8 至 26 的核心新特性,涵盖 Lambda、Stream、Optional、Records、密封类、虚拟线程、结构化并发等,重点解析四大 LTS 版本,附面试速查表与高频问答,是开发者从 Java 8 平滑升级到最新版本的完整指南。
2026-07-17 11:04:03
552
原创 高频面试题:MySQL 索引失效场景。究竟该如何回答?
本文围绕 MySQL 索引失效的 9 类常见场景展开,核心围绕联合索引最左前缀原则,逐一剖析函数操作、隐式类型转换、LIKE 前置百分号、OR 非索引列、范围查询等失效原因及原理,并提供 EXPLAIN 排查方法和面试口语答题模板。
2026-07-16 17:14:16
470
原创 一篇文章掌握一个技能:MyBatis 从入门到精通与高频面试题精讲
本文系统讲解了 MyBatis 持久层框架,从 JDBC 痛点切入,介绍了其核心原理——通过动态代理将 SQL 与 Java 代码解耦,涵盖 XML/注解映射、动态 SQL、#{}与${}防注入、ResultMap 关联映射、缓存机制、执行全链路源码分析,以及插件系统和与 Hibernate 的选型对比,最后总结了常见踩坑指南、性能优化实践和 10 道高频面试题。
2026-07-16 13:52:53
348
原创 五分钟背一个面试题:Java 线程中 wait() 和 sleep() 的区别
这篇文章详细对比了 Java 中 wait() 与 sleep() 的核心区别:所属类不同(Object vs Thread)、锁行为不同(wait 释放锁,sleep 不释放)、唤醒方式不同(notify/notifyAll vs 超时/interrupt)、调用前提不同(wait 必须在同步块中)。通过生产者-消费者示例演示了为何不能用 sleep 代替 wait,并附带虚假唤醒、线程状态等常见面试追问解析。
2026-07-15 23:12:12
296
原创 一篇文章掌握一个技能:Redis 从入门到精通与高频面试题精讲
本文系统讲解 Redis 从基础数据类型到底层原理、高可用架构(主从/哨兵/集群)、缓存三大问题(穿透/击穿/雪崩)的解决方案、Spring Boot 集成最佳实践及分布式锁实现,并附 10 道高频面试题与生产事故复盘,帮助开发者从会用 set/get 进阶到真正精通 Redis。
2026-07-15 14:37:45
468
原创 五分钟背一个面试题:如何防止接口重复提交或网络抖动?
本文从重复提交的三大成因切入,按"前端防抖→Token 令牌→Redis SETNX→分布式锁→数据库唯一约束"逐层递进讲解,含完整 Java 代码示例与面试口语模版。核心:前端拦是情分,后端防是本分。
2026-07-14 14:52:58
976
原创 五分钟背一个面试题:Java 的 volatile 关键字
本文深入解析 Java 中 volatile 关键字的核心机制与使用场景。首先通过“便利贴”比喻生动解释其解决可见性问题的原理,并阐述其在 JMM(Java 内存模型)中的行为。其次,详细说明 volatile 通过内存屏障禁止指令重排序的能力,以双重检查锁定(DCL)单例模式为例揭示其重要性。文章重点澄清了 volatile 不能保证原子性的常见误区,通过 count++ 反例进行剖析。最后,系统对比了 volatile 与 synchronized 的差异,并列举了状态标志位、DCL单例等典型应用场景
2026-07-13 20:37:06
453
原创 一篇文章讲透一个知识点:枚举 及其高级用法
文章从 int 常量的痛点出发,引出枚举的类型安全优势;依次讲解基础语法、内置方法、成员变量与构造器,并通过反编译揭示枚举本质是 final class + static final 实例的语法糖;重点演示了枚举配合策略模式消除 if-else、实现单例和责任链等高级用法;最后梳理了使用禁区与 6 道面试高频考点,给出从入门到精通的分层学习路径
2026-07-13 14:34:54
649
原创 面试题库:JVM 内存模型、垃圾回收机制与性能调优
这篇文章系统梳理了 JVM 内存五大区域(堆、栈、方法区、程序计数器、本地方法栈),以通俗类比讲解可达性分析和分代回收原理,对比了 Serial/Parallel/CMS/G1/ZGC 等垃圾回收器的适用场景,并给出"监控→分析→调整"的性能调优实战套路,包含常用工具、核心参数及线上 OOM/CPU 飙升的排查思路,最后附口语版面试回答模板。
2026-07-10 17:03:19
733
原创 面试题库:线程池核心参数与工作原理
这篇文章用"外包公司"作比喻,通俗讲解了线程池的七大核心参数和工作原理。核心流程是"先核心线程→再排队→再扩容→最后拒绝"。文章还对比了四种 Executors 快捷方式的坑、线程数配置经验公式、shutdown()/shutdownNow() 的区别,并附带了适合面试口述的回答模板。
2026-07-09 20:09:54
422
原创 一篇文章讲透一个知识点:Java 之 代理
文章以"代购"比喻开篇,依次讲解静态代理、JDK动态代理和CGLIB三种代理方式的实现原理与代码示例,对比三者的接口依赖、性能和维护成本差异。随后深入Spring AOP的代理选型策略及常见踩坑场景,最后梳理四道高频面试题,帮助读者从原理到实战全面掌握Java代理机制。
2026-07-09 14:25:58
866
原创 分布式锁,到底该如何实现?
本文从单机锁的局限性切入,详解分布式锁的三种主流实现:数据库(唯一索引)、Redis(SET NX EX → Lua 脚本 → 看门狗 → Redisson → RedLock 完整演进)、ZooKeeper(临时顺序节点 + Curator),附带 Etcd 简介。最后给出选型决策树和 6 道面试高频题的答题模板,帮助读者从原理到实战全面掌握分布式锁。
2026-07-08 13:48:07
729
原创 一文讲透 Java 面试中出镜率最高的集合类:HashMap
本文从 Map 基础概念入手,逐层深入 HashMap 核心原理:以数组+链表+红黑树为骨架,剖析默认容量16、负载因子0.75、树化阈值8 等关键常量的设计考量;逐行拆解 put()/get() 方法和扰动函数;详解扩容机制与数据迁移优化;对比 JDK 7 与 JDK 8 差异(头插法死循环问题);最后梳理 12 道高频面试题及延伸知识,帮助读者从源码层面真正理解 HashMap。
2026-07-07 13:59:52
622
原创 一文带你轻松拿捏“设计模式”,妈妈再也不用担心我的面试!
本文从支付模块 if-else 难以维护的真实场景切入,系统讲解 Java 面试高频的 9 种设计模式(单例、工厂、代理、观察者等),每种模式均配有代码示例与 Spring 源码应用对照,并提供面试答题套路与实用口诀,帮读者从"背概念"进阶到"真正会用"。
2026-07-06 15:40:05
637
原创 多系统认证授权利器:OAuth2,究竟该如何使用?
本文以"酒店门禁卡"比喻开篇,系统讲解 OAuth2 认证授权框架:四大角色、三种令牌(Access Token / Refresh Token / JWT)、四种授权模式(重点剖析授权码模式 + PKCE),并结合 Spring Security 6.x 实战搭建授权/资源服务器,最后梳理 Token 安全策略、生产环境七大安全实践及面试高频八股题。
2026-07-03 14:45:00
784
原创 一文帮你通关:数据结构之 树
本文从链表查找慢的痛点出发,系统讲解树数据结构:二叉树 → BST → AVL/红黑树 → B/B+树 → 堆 → Trie。核心思路是"每种树为解决什么而生",结合 Java 中 TreeMap、HashMap 树化、PriorityQueue、MySQL 索引等实际场景,并梳理了遍历算法、经典面试题及高频追问逻辑。
2026-07-02 14:06:01
789
原创 一文通解:Java 数据结构之 哈希
从哈希函数基本概念出发,深入剖析 Java 中 hashCode() 与 equals() 契约、哈希冲突解决方案、HashMap 底层源码(数据结构、扰动函数、扩容机制),延伸至分布式场景下的一致性哈希与布隆过滤器,并附面试高频题及手写实现,揭示哈希技术背后的"权衡"设计哲学。
2026-06-30 15:39:44
572
原创 面试题库:Java线程创建有哪几种方式?到底该怎么回答?
文章从语言规范层面指出创建线程只有 new Thread() 一种方式,但从定义任务角度分为四种:继承 Thread、实现 Runnable、实现 Callable(带返回值)、线程池。重点对比了各方式的优劣和使用场景,特别强调生产环境必须用 ThreadPoolExecutor 手动创建线程池,避免 OOM 风险。
2026-06-24 17:37:42
845
原创 面试题库:MySQL 间隙锁(Gap Lock)是什么?
间隙锁是 InnoDB 在可重复读隔离级别下解决幻读的机制,它锁住索引记录之间的空隙而非记录本身,阻止其他事务在区间内插入数据。文章对比了记录锁、间隙锁和临键锁三类行级锁的区别,并通过 SQL 实例演示其效果,最后指出大范围锁和死锁两个常见坑点。
2026-06-23 16:12:14
488
原创 面试题库:MySQL 的锁类型有哪些?
MySQL锁按粒度分为全局锁、表级锁(表锁/MDL/自增锁)、行级锁(Record/Gap/Next-Key/插入意向锁),按读写属性分为共享锁与排他锁。行锁加在索引上而非数据行,InnoDB凭MVCC+行锁实现高并发,死锁通过等待图检测并回滚。
2026-06-17 14:28:34
826
原创 面试题库:分库分表可能引发哪些问题?
分库分表虽能解决性能瓶颈,但会引入分布式ID生成、跨库JOIN不可用、分布式事务、分片键选择、非分片键全路由查询、扩容数据迁移及聚合分页难等问题。文中逐一给出应对方案,强调分库分表是止痛药而非保健品,应谨慎使用。
2026-06-16 16:31:34
417
原创 从 CRUD Boy 到架构师:Java 开发者的打怪升级路线图
本文梳理了Java开发→架构师的五阶段成长路线:Java内功(0-2年)→ 框架工程化(2-4年)→ 中间件与分布式(4-6年)→ 架构设计与云原生(6-8年),以及贯穿全程的软技能。强调深度胜于广度、架构随业务演进,适合想突破CRUD的开发者参考。
2026-06-12 15:09:35
524
原创 分布式知识全景图:Java开发者的进阶必修课
本文为 Java 开发者梳理分布式知识全景,从 CAP/BASE 理论出发,系统讲解 RPC 通信、消息队列、分布式事务(2PC/TCC/Seata)、分布式锁、雪花算法、缓存一致性、服务治理及链路追踪等核心主题,并提供面试高频题解答与学习资源推荐。
2026-06-11 17:13:35
782
原创 JVM 征服手册:从 CRUD 到性能调优的完整指南(二)- 进阶实战
本文进阶讲解 JVM 实战技能:七大垃圾收集器(Serial 到 ZGC)的选型对比、GC 日志解读与核心参数配置、线上诊断工具(jstack/jmap/jstat/Arthas)的实操用法、JIT 编译优化(逃逸分析/锁消除)原理,以及 JMM 内存模型与面试高频题精讲。
2026-06-10 14:18:18
726
原创 JVM 征服手册:从 CRUD 到性能调优的完整指南(一)- 基础入门
本文从零讲解 JVM 核心基础:JDK/JRE/JVM 三者关系、类加载机制与双亲委派模型、运行时数据区(堆、栈、方法区等)的内存布局,以及垃圾回收的判定算法(可达性分析)和三种回收策略(标记-清除/复制/整理),覆盖初级到中级面试高频考点。
2026-06-09 14:01:21
691
原创 Java开发必知必会的MySQL核心知识点(五)-实战与面试:Java 开发者必备宝典
本文聚焦实战与面试,涵盖MyBatis-Plus编码最佳实践(Lambda查询、批量操作、大批量插入方案)、HikariCP连接池配置与慢SQL排查、阿里MySQL开发规范精选,以及8道高频面试题精讲(索引原理、索引失效、隔离级别、回表等)。
2026-06-08 14:02:52
868
原创 Java开发必知必会的MySQL核心知识点(四)-日志与高可用架构:从单机到集群
本文从 MySQL 三种核心日志切入——redo log(InnoDB 物理日志,基于 WAL 保障持久性)、binlog(Server 层逻辑日志,用于主从复制与数据恢复)、undo log(记录反向操作,支撑事务回滚与 MVCC 版本链)。随后讲解两阶段提交如何协调 redo log 与 binlog,以 binlog 完整性为准解决主从一致性问题。接着介绍主从复制的三线程模型、主从延迟原因与并行复制方案,以及基于 Spring AbstractRoutingDataSource + AOP 注解实现读
2026-06-05 14:28:19
861
原创 Java开发必知必会的MySQL核心知识点(三)-深入理解:事务、锁与 MVCC
文章讲解了 MySQL 三大核心机制:事务的 ACID 特性保证数据一致性;锁机制(临键锁、间隙锁)解决并发写冲突与幻读;MVCC 通过 undolog 版本链和 ReadView 快照实现读写不阻塞,并揭示了 RC 与 RR 隔离级别的本质区别。
2026-06-04 13:43:03
578
原创 Java开发必知必会的MySQL核心知识点(二)-索引探秘:让你的查询快如闪电
本文围绕 MySQL 索引展开,从 B+Tree 结构讲起:非叶子存键值、叶子存全量数据且以双向链表相连,树高极低使得千万级数据仅需 2-3 次磁盘 I/O。接着区分聚簇索引(叶子即整行数据)与二级索引(叶子仅存主键),解释回表开销及覆盖索引的规避方式。联合索引部分重点阐述最左前缀原则与索引下推优化。实战环节介绍 EXPLAIN 的 type、Extra 字段解读,并针对深分页(延迟关联)、JOIN(被驱动表建索引)、ORDER BY(利用索引排序)三类场景给出具体优化方案,最后总结建索引的六要六不要。
2026-06-03 15:00:00
591
原创 Java开发必知必会的MySQL核心知识点(一)-基础入门:从零开始认识数据库核心
《Java开发者必备:MySQL核心知识体系精讲》摘要 本文针对Java开发者系统梳理MySQL知识体系,揭示大多数开发者仅停留在"会用"层面的现状。文章分为5篇系列教程,涵盖: 基础架构(Server层/引擎层、SQL执行流程) 索引原理与优化(B+Tree、覆盖索引) 事务与锁机制(ACID、MVCC) 高级架构(主从复制、分库分表) 实战面试精讲;
2026-06-02 13:45:59
309
原创 一文帮你了解:算法的时间复杂度和空间复杂度
摘要: 复杂度分析用于衡量算法效率,包括时间复杂度和空间复杂度,通过大O表示法描述随数据规模n的增长趋势。时间复杂度从优到劣依次为O(1)、O(logn)、O(n)、O(nlogn)、O(n²)、O(2ⁿ)等,重点关注循环和递归结构。空间复杂度衡量额外内存消耗,如O(1)(原地操作)或O(n)(线性增长)。实际开发中需权衡时间与空间,例如用哈希表(O(1)查找)替代暴力搜索(O(n²))。Java集合类选择(如ArrayList随机访问O(1)、LinkedList插入O(1))直接影响性能。复杂度分析忽略
2026-05-29 19:52:18
221
原创 高频面试题:商品限时秒杀。到底该如何回答?
本文系统剖析了"限时秒杀"系统的设计思路和实现方案。核心采用"漏斗模型"层层过滤流量:前端通过静态化、按钮置灰等技术限流;Redis预减库存保证高速查询;消息队列异步处理削峰;数据库最终完成交易。同时需考虑防刷策略(验证码、IP限流等)和兜底方案(降级、熔断等)。面试回答应突出系统性思维,展示从技术实现到业务防护的全链路考量,强调在性能与一致性间的权衡能力。关键在于尽早拦截无效请求,保护核心资源,确保系统在高并发下稳定运行。
2026-04-17 18:03:22
544
正则表达式必知必会.pdf
2016-11-21
SQL基础教程.pdf
2016-11-10
ejb3-persistence.jar
2015-09-02
Node.js实战.pdf
2016-11-10
一元多项式的运算
2012-11-18
SQL完全手册.pdf
2016-11-10
agile java 中文版.pdf
2016-11-11
深入浅出SQL(中文版).pdf
2016-11-10
大话云计算.pdf
2016-11-10
MongoDB管理与开发精要.pdf
2016-11-10
深入学习MongoDB.pdf
2016-11-10
Hadoop权威指南 中文版.pdf
2016-11-10
Mysql必知必会.pdf
2016-11-10
精通正折表达式.pdf
2016-11-21
Node.js高级编程(中文版).pdf
2016-11-10
JsPDF生成的pdf文件如何传到后台保存下来?
2018-03-25
本地java项目如何连接阿里云服务器上的mysql?
2018-03-15
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅