- 博客(22)
- 收藏
- 关注
原创 当你在 MySQL 里敲下一行 SQL,它到底在 “瞎忙活” 啥?
作为程序员,我们每天都在和 SQL 打交道:SELECT * FROM 摸鱼记录 WHERE 日期=今天; 敲下回车,结果唰地出来,看似岁月静好。但你有没有想过,这短短一行代码,在 MySQL 内部已经上演了一出 “部门协作大戏”?
2025-10-24 20:56:15
2404
原创 我把分页玩出花后,产品经理终于不逼我做 “跳转到第 1000 页” 了
今天就来扒一扒分页界的 “五大流派”,从青铜到王者,看看不同场景下该怎么选,让你既不被产品怼,又能让数据库 “喘口气”。
2025-10-22 19:58:17
1176
原创 Java static 关键字全解析:从基础到实战,一文搞懂静态特性
在 Java 开发中,static关键字几乎是每个开发者都会接触的基础语法,但很多人只停留在 “能调用” 的层面,对其底层逻辑、适用场景和潜在坑点一知半解。比如为什么工具类的方法要加static?静态变量为什么会引发线程安全问题?静态内部类和普通内部类有什么区别?
2025-10-14 19:17:57
1253
原创 深入理解 JVM 结构:从字节码到运行的核心密码
如果你是 Java 开发者,一定听过 “JVM 是 Java 跨平台的灵魂” 这句话 —— 但 JVM 究竟是如何把.class字节码变成屏幕上运行的程序?为什么排查OutOfMemoryError需要懂 JVM 内存划分?今天我们就从 “结构 + 流程” 双维度,拆解 JVM 的核心组成,帮你搞懂 Java 程序运行的底层逻辑。
2025-10-11 19:26:50
831
原创 Java 打破双亲委派机制:从原理拆解到实战避坑指南
在前一篇文章中,我们搞懂了双亲委派机制是 JVM 的 “安全基石”—— 它通过 “向上委托、向下查找” 保证核心类不被篡改、类不重复加载。但实际开发中,当你用 Tomcat 部署多应用、用 JDBC 连接数据库时,却会发现这套机制 “不好用了”—— 这正是 “打破双亲委派” 出场的场景。
2025-10-11 10:27:00
1301
原创 深入理解 Java 双亲委派机制:从原理到实战价值
在 Java 开发中,我们每天都在写new Object()、String str = "hello",但很少有人深究:这些核心类是怎么被 JVM “找到” 并加载的?为什么我们自定义一个java.lang.String类却永远无法生效?这背后,都离不开 JVM 的 “安全卫士”——双亲委派机制。
2025-10-11 10:02:34
612
原创 深入理解 Java 类的生命周期:从加载到初始化的完整脉络
对于 Java 开发者而言,我们每天都在定义和使用类,但类从 “代码文件” 到 “JVM 可执行组件” 的过程,却常常被忽略。其实,Java 类的生命周期贯穿了 “加载→连接→初始化→使用→卸载” 的全流程,其中加载、连接(验证 / 准备 / 解析)、初始化是类加载的核心阶段 —— 这三个阶段的执行逻辑,直接决定了类能否在 JVM 中正常运行。
2025-10-10 20:12:49
927
原创 深入理解 Java 中 final 关键字:从语法到底层机制与实践
在 Java 开发中,final关键字是控制代码 “不可变性” 的核心工具,但其作用远不止 “不能修改” 这么简单。很多开发者仅掌握了它的基础用法,却忽略了其底层与类加载、内存模型(JMM)的深度绑定,以及在多线程安全中的关键价值。本文将从语法规则出发,结合底层机制,全面拆解final的本质,并给出实用的实践建议。
2025-10-10 13:00:15
1909
原创 深入理解 i++ 和 ++i:从 JVM 字节码视角揭秘自增 “陷阱”
在 Java 编程中,i++(后置自增)和 ++i(前置自增)是基础操作,但当它们出现在赋值语句中时,结果往往和直觉 “打架”—— 比如 int i = 0; i = i++; 最终 i 是 0,而 i = ++i; 最终 i 是 1。这背后的秘密,藏在 JVM 字节码的执行流程里。
2025-10-09 19:33:46
388
原创 一文吃透 Kafka 核心:从底层结构到关键机制详解
在大数据领域,Kafka 作为分布式流处理平台的 “顶流”,凭借高吞吐、高可用、可扩展的特性,成为日志采集、消息队列、实时数据同步的核心工具。但很多开发者初接触 Kafka 时,常会被 “分区”“副本”“Rebalance” 等概念绕晕。今天这篇文章,就从 Kafka 的底层结构出发,一步步拆解核心概念与关键机制,帮你彻底理清 Kafka 的运行逻辑。
2025-10-08 19:28:40
744
原创 深入剖析 HashMap:底层结构、put 方法、扩容机制与寻址逻辑
在 Java 集合框架中,HashMap 无疑是最常用的键值对存储结构之一。它以高效的查询、插入性能著称,但其底层实现却蕴含着精妙的设计思想。本文将从底层数据结构、put 方法执行流程、扩容机制以及寻址逻辑四个维度,带你全面理解 HashMap 的工作原理(基于 JDK 1.8+ 版本)。
2025-09-23 19:54:28
577
原创 深入理解 Spring 循环依赖:三级缓存为何缺一不可?
在 Spring 框架的日常使用中,我们偶尔会遇到循环依赖的问题,尤其是在使用构造器注入时,可能会出现BeanCurrentlyInCreationException异常。而对于字段注入或 setter 注入的循环依赖,Spring 却能悄无声息地处理掉。这背后的核心奥秘,就是 Spring 的三级缓存机制。本文将深入解析循环依赖的产生原因、三级缓存的工作原理,以及为什么三级缓存缺一不可。
2025-09-21 19:25:15
979
原创 深入理解 InnoDB:从存储引擎到事务与索引的底层逻辑
对于数据库新手来说,面对 “索引”“MVCC”“事务” 等概念时往往会感到困惑。其实,这些复杂机制的背后,都离不开 MySQL 中最核心的存储引擎 ——InnoDB。本文将从 InnoDB 的基础介绍开始,由浅入深剖析其索引设计、MVCC 机制,以及它们如何协同保障事务的可靠性,帮助新手建立完整的知识框架。
2025-09-15 20:47:56
766
1
原创 分布式锁面试高频题整理:从原理到实战,覆盖 90% 考点
在分布式系统面试中,“分布式锁” 绝对是绕不开的核心话题 —— 无论是初级开发岗考察基础实现,还是中高级岗深挖缺陷解决方案,甚至架构岗的选型对比,都离不开它。今天我整理了分布式锁面试中最常问的 4 大类问题,从原理细节到实战排查,帮你系统梳理考点,面试时不再慌。
2025-09-12 14:06:02
989
原创 深入解析分布式锁:从基础到进阶实现
在分布式系统中,多个进程或线程可能同时操作共享资源,为了保证数据的一致性和操作的原子性,分布式锁应运而生。本文将详细介绍三种常见的 Redis 分布式锁实现方式,分析它们的原理、优缺点及适用场景。
2025-09-12 11:29:45
906
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅