自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(1969)
  • 资源 (1)
  • 收藏
  • 关注

原创 干货 | Java8 新特性指导手册

本教程翻译整理自 https://github.com/winterbe/java8-tutorial目录:一、接口内允许添加默认实现的方法二、Lambda 表达式三、函数式接口 Functional Interface四、便捷的引用类的构造器及方法五、Lambda 访问外部变量及接口默认方法5.1 访问局部变量5.2 访问成员变量和静态变量5.3 访问接口的默认方法...

2019-01-15 19:29:19 831

原创 字节二面:什么是数据库死锁,怎么解决?(修订版)

面试官不仅仅是想知道你听过 "死锁" 这个词,更是想考察你是否真正理解死锁产生的四个必要条件(互斥、占有并等待、不可抢占、循环等待),以及为什么在数据库中会发生死锁。后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,Spring Cloud Alibaba 等等,后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,Spring Cloud Alibaba 等等,:事务之间形成循环等待关系。

2026-03-26 09:01:43 14

转载 OpenClaw到底能干嘛?30个落地案例,看完直接用

后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,Spring Cloud Alibaba 等等,后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,Spring Cloud Alibaba 等等,,你会发现这是一个"让 OpenClaw 每天帮你抓 Reddit 热帖+生成摘要"的完整方案。如果你也装好了 OpenClaw,但一直没动起来,这个项目可能是你最需要的"说明书"。

2026-03-25 16:03:28 18

原创 面试官:MySQL 唯一索引和主键索引的区别?(修订版)

面试官不仅仅是想知道 "有什么区别",更是想考察你是否理解主键索引(聚簇索引)和唯一索引(二级索引)在存储结构上的根本差异。,可以有多个,允许 NULL(可多个),叶子节点存储主键值。:考察你是否清楚主键不允许 NULL,而唯一索引可以(但只能有一个),这是很多面试者容易忽略的细节。:一种特殊的唯一索引,每张表只能有一个,用于唯一标识每一行记录,InnoDB 中主键是。:保证索引列的值唯一,一张表可以有多个唯一索引,InnoDB 中唯一索引是。,每表只能有一个,不允许 NULL,叶子节点存储完整行数据;

2026-03-24 09:01:06 323

转载 Nacos 服务注册为什么默认是临时实例?

后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,Spring Cloud Alibaba 等等,那时候服务挂了,通常只是显示不健康,节点信息还会保留在那儿。大家在 K8s 环境下用 Nacos,建议就保持默认配置,不要手动去开持久化模式,否则你的控制台里可能会留下一堆清理不掉的无效数据。因为那时候 IP 是固定的,机器挂了,修好重启,IP 还是那个 IP。即使集群之间数据还没完全同步,只要能让服务注册上来,能让别人发现你,不报错,比什么都强。

2026-03-24 09:01:06 19

原创 面试官灵魂一问:MySQL 深度分页如何优化?(修订版)

后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,Spring Cloud Alibaba 等等,答:因为只查主键/索引列时,MySQL 可以使用"覆盖索引",直接在索引树上获取数据,不需要回表去聚簇索引查完整记录。执行机制——它需要扫描 offset + size 条记录再丢弃前面的,而不是"直接跳到第 offset 条"。导致的全表扫描,优化核心是 **"利用索引直接定位起始点,避免扫描后丢弃"**。上图对比了传统分页和游标分页的性能差异。

2026-03-23 12:32:30 530

转载 锁明明还没过期,为什么另一个线程能抢进去?

如果中间有线程 B 抢占了锁,拿到了 Token 34 并修改了数据,线程 A 的 Token 33 就会变成旧版本,数据库的更新操作就会失败,影响行数为 0。这样一来,只要线程 A 的进程没挂,即使正在 Full GC,只要 GC 结束,守护线程也会恢复工作去续期,锁就永远不会过期。线程 A 还在执行业务逻辑,锁的过期时间也没到(理论上),但线程 B 竟然大摇大摆地抢到了锁,开始修改同一份数据。这又是数据覆盖了,即使有看门狗,在极端并发下,分布式锁依然无法保证 100% 的互斥安全性。

2026-03-23 12:32:30 17

转载 Nacos 点了下线,为什么流量还是打到了停机的机器上?

后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,Spring Cloud Alibaba 等等,在这几十秒里,虽然 Nacos 服务端已经把那个节点标记为下线了,但网关本地的缓存还没刷新,网关手里拿着的依然是旧名单。在这 40 秒里,机器还在正常运行,依然在处理请求,只是我们在这 40 秒里等待全网所有的网关更新完缓存。在真实的生产环境下,如果发布流水线真的只是这么干,那每次发版的一两分钟里,你们的网关日志里一定会刷出一堆。

2026-03-22 14:58:16 24

原创 阿里二面:什么是 MySQL 回表查询?如何避免?(修订版)

当通过二级索引(非主键索引)查询数据时,如果 SELECT 的字段不完全包含在索引中,MySQL 需要先从二级索引树查到主键 ID,再回到聚簇索引树根据 ID 查找完整记录,这个过程叫 "回表"。后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,Spring Cloud Alibaba 等等,:面试官不仅仅是想知道 "回表" 这个概念,更是想考察你是否理解 InnoDB 的聚簇索引和二级索引的区别,以及 B+ 树的存储结构。避免回表的核心手段是。

2026-03-22 14:58:16 269

转载 如何画出一张优秀的架构图?(老鸟必备)

先不去管这些图好不好,我们通过对这些图的分类以及作用,思考了一下,总结下来,我们认为,在画出一个好的架构图之前,首先应该要明确其受众,再想清楚要给他们传递什么信息,所以,不要为了画一个物理视图去画物理视图,为了画一个逻辑视图去画逻辑视图,而应该根据受众的不同,传递的信息的不同,用图准确地表达出来,最后的图可能就是在这样一些分类里。可以看到,非常简单、清晰,相信不需要解释,都看的明白,里面包含了需要建设的系统本身,系统的客户,和这个系统有交互的周边系统。这样一个简单的图,可以告诉我们,要构建的系统是什么;

2026-03-21 16:39:04 65

原创 面试官:说说动态线程池实现原理?

保证状态变更的线程安全。:ReentrantLock 类型,保护线程池级别的状态变更,包括 workers 集合的增删、参数设置方法、线程中断等。:考察你是否遇到过线程池参数配置不合理导致的问题(如队列堆积、线程不足),以及是否知道如何通过动态调整来在线解决这些问题。:面试官不仅仅想知道你会不会调 API,更想知道你是否理解线程池内部状态管理的机制,以及动态调整时如何保证线程安全。:实时监控线程池运行状态(队列积压、活跃线程数、拒绝次数等),当指标异常时触发告警,同时为动态调整提供数据支撑。

2026-03-21 16:39:04 251

原创 面试官:什么是跨域访问问题,怎么解决?

而 AJAX 可以读取响应内容,如果恶意网站能通过 AJAX 访问你的银行账户,就能窃取数据,所以需要限制。后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,Spring Cloud Alibaba 等等,:考察你是否掌握多种跨域解决方案,能否根据实际场景选择合适的方案,而不是只会 "配置 CORS" 这一种。:满足特定条件的请求,浏览器直接发送,在响应头中检查 CORS 头即可。:浏览器检查响应头,如果没有正确的 CORS 头,就拦截响应并报错。

2026-03-19 09:30:17 523

转载 2026年,离职潮彻底消失了。。。

他跟着宋老师的课程有条不紊地准备,吃透了 Transformer、Attention 等核心考点,提前攻克了面试高频问题,为秋招做好了万全准备。往期学员通过我们的内推,入职都特别高效,内推很多都是大厂,只有帮助大家学习到技术,找到一份好工作,我们才能收获好的口碑。等等不同的应用场景,在整个授课过程中,老师更加注重是业务与思想的传播,让你轻松应对工作中的问题并且有举一反三的能力。中,把理论和实践相结合,帮助学员用最短的时间进入AI领域并掌握相关知识,快速上手主流深度学习开发框架,

2026-03-19 09:30:17 14

转载 一文读懂:高并发场景避免超卖少卖的实战攻略

后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,Spring Cloud Alibaba 等等,那天晚上,DB 里的订单票数和 Redis 里的库存数对不上,差了十几张。用户抢了票占了座,结果不付钱。你把票锁死了,别人买不到,最后演出开始了,座位还空着,白白浪费钱。你能防住 99.99% 的异常,剩下的 0.01% 靠的是完善的监控和快速响应的“ plan B ”。别因为网络抖动回滚了两次,那库存就凭空变多了,成了“灵异事件”。

2026-03-19 09:30:17 32

原创 面试官:对称加密和非对称加密有什么区别?

ECC 在相同安全级别下密钥更短(256 位 ECC ≈ 3072 位 RSA),计算更快,带宽更省,更适合移动端和物联网。——基于椭圆曲线离散对数难题:256 位 ECC 的安全性 ≈ 3072 位 RSA,密钥更短、计算更快、带宽更省,适合移动端、物联网设备。:面试官不仅仅是想知道 "一个用一把钥匙,一个用两把钥匙",更是想知道你是否理解两种加密方式的工作原理、密钥管理方式、以及各自的安全特性。——用非对称加密安全交换对称密钥,用对称加密高效传输数据,HTTPS 就是典型的混合加密应用。

2026-03-18 16:51:11 569

转载 IDEA + SpringBoot 的三种热加载方案,第三种真香!

spring-boot-devtools 是 Spring Boot 提供的开发者工具,它会监控当前应用所在的 classpath 下的文件发生变化,进行自动重启。后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,Spring Cloud Alibaba 等等,后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,Spring Cloud Alibaba 等等,

2026-03-18 16:51:11 31

原创 面试官:TCP 和 UDP 的区别是什么?

TCP 是 **"靠谱管家"**——面向连接、可靠传输、有序到达、流量拥塞控制,适合文件传输、网页浏览等对数据准确性要求高的场景;UDP 是 **"莽撞快递"**——无连接、不可靠、无序、无控制,但速度快、开销小,适合视频直播、在线游戏等对实时性要求高的场景。三次握手确保双方都能收发,并同步初始序列号。:TCP 是 **"打电话"**(先拨号建立连接,确保对方听到),UDP 是 **"广播"**(对着话筒喊,听没听到不管)。:面向连接、可靠有序、三次握手、流量拥塞控制、字节流(粘包)、20 字节首部。

2026-03-17 15:16:21 551

转载 JDK17 前后写法对比:差点没认出是 Java!

Java,一直被开发者戏称为"啰嗦",但从 JDK 12 到 JDK 17,这门语言发生了显著变化。后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,Spring Cloud Alibaba 等等,后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,Spring Cloud Alibaba 等等,从 JDK 12 到 JDK 17,Java 逐步摆脱了"啰嗦语言"的帽子,走上了现代化转型之路。

2026-03-17 15:16:21 34

转载 RabbitMQ 和 RocketMQ,哪个更好?

后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,Spring Cloud Alibaba 等等,后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,Spring Cloud Alibaba 等等,它原生支持AMQP 0-9-1、AMQP 1.0、MQTT、STOMP等多种协议,这在物联网、移动端等异构系统集成时非常有用。累计输出 100w+ 字,讲解图 4013+ 张,还在持续爆肝中..

2026-03-16 09:31:38 37

原创 面试官:HTTPS 和 HTTP 的区别是什么?

面试官不仅仅是想知道 HTTPS 比 HTTP "更安全",更是想知道你是否理解安全的本质——数据是如何被加密的、证书的作用是什么、整个安全通信链路是如何建立的。:浏览器收到证书后,沿着 "服务器证书 → 中间 CA → 根 CA" 的链条逐级验证签名,直到到达信任的根证书。任何一级验证失败,连接就会被终止。:如果你了解 HTTPS 的性能开销、证书部署方式、以及在实际项目中如何正确配置 HTTPS,说明你不只是 "懂理论",还有 "实战经验"。这些是信任的起点,根 CA 的私钥通常离线保管,极其安全。

2026-03-16 09:31:38 615

转载 离谱!裁员裁出新高度了。。。

除了大模型技术讲解,还有能够震撼到每一个程序员的、超详细、最热门的大模型商业化应用案例。比如做智能客服等等……构建垂类场景下的智能助手(如制造业中的设备故障诊断Agent、金融领域的投资分析Agent等)。掌握主流大模型(如DeepSeek、Qwen等)的微调技术,针对特定场景优化模型性能。5个步骤,覆盖超多业务场景,培养全栈开发能力,轻松成为大模型应用开发工程师!课程由AI大模型领域大佬们联合打磨研发,老师们将大模型技术原理讲透的同时,如今,超过60%的企业都在推进AI产品落地,而真正能交付项目的。

2026-03-16 09:31:38 9

转载 今天被问懵了,加密后的数据如何进行模糊查询?

这个层面大多是专业算法工程师的研究领域,想要设计一个有序的、非不可逆的、密文长度不能增长过快的算法不是一件简单的事情,大致的思路是这样的,使用译码的方式进行加解密,保留密文和原文一样的顺序,从而支持密文模糊匹配,说的比较笼统因为我也不是这方面的专家没有更深一步的研究过,所以我从网上找了一些资料可以参考一下。在网上随便搜索了一下,关于《加密后的模糊查询》 的帖子很多,顺便整理了一下实现的方法,不得不说很多都是不靠谱的做法,甚至有一些沙雕做法,接下来我们就对这些做法来讲讲实现思路和优劣性。

2026-03-15 17:57:02 35

原创 面试官:Cookie、Session、Token 的区别是什么?

服务器验证通过后,创建一个 Session 对象,生成唯一的 SessionID,并将用户信息存储在 Session 中。:考察你是否清楚从 Cookie + Session 到 Token 的演进过程,理解为什么现代分布式系统更倾向于使用 Token,以及这背后的技术驱动因素。:能否根据实际场景选择合适的方案,比如单机应用用 Session、分布式系统用 Token、移动端如何处理认证等,以及了解各自的安全风险和防范措施。:Cookie 是容器,Session 是服务端状态,Token 是自包含凭证;

2026-03-14 16:17:40 602

转载 Spring 7.0.4 杀疯了,40 个新特性、15 个 Bug 修复、1 个死锁终结!

核心方法论很简单——拿 JProfiler/async-profiler 跑一遍你的应用,找到 CPU 火焰图里 Spring 框架内部的热点方法,判断是否有缓存空间或算法改进空间,写 JMH benchmark 证明提升,提 PR。做在线聊天、实时消息推送的团队,用 STOMP 协议中继到 RabbitMQ/ActiveMQ 的场景会踩到:一旦 MQ 重启,Spring 端的 STOMP 连接就断了且不会恢复,只能重启应用。在金融系统做精度控制、医疗系统做字段脱敏的时候,这种"好心办坏事"的行为很致命。

2026-03-14 16:17:40 34

原创 面试官:单例模式有几种写法?

Java 枚举类型本身的特性保证了其常量(即单例实例)在 JVM 中是唯一的,且其构造器是私有的。JVM 从根本上保证了线程安全、反射安全(JDK 内部禁止使用反射创建枚举实例)和序列化安全(枚举的序列化机制特殊,仅存储名字,反序列化时通过。后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,Spring Cloud Alibaba 等等,为何有些写法是安全的,有些则存在隐患。:如何确保在高并发场景下,单例的创建依然是线程安全的,这是考察重点。

2026-03-12 09:31:48 337

转载 重磅!大龙虾OpenClaw王炸上线,码农们的春天正式开启!

已是开发架构师,薪资也已经拿到48K,但由于在一个赛道久了,也早已遇到瓶颈,王大哥也不甘于此,了解到AI上限高、薪资高、机会更多,经过身边专业的朋友认可后果断加入学习,后面经过某手多轮面试最终拿下大模型架构,K4a级别,张同学是金融专业的大三学生,并且是普通本科,因为自己对计算机行业比较热爱,加上AI是趋势,不管来自任何行业、任何专业,都有一试的机会,张同学通过系统学习,最终用能力证明。的学员,也是想向大家说明:凭借着当下行业对AI人才的海量需求,只要具备AI相关技术能力,就业是自然而然的事情!

2026-03-12 09:31:48 23

转载 阿里又开源了一个顶级Java项目!

最近半年,AI Agent的热度居高不下,但很多Java团队却陷入了一个尴尬的境地:Python生态的AI框架(LangChain、AutoGen)确实强大。后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,Spring Cloud Alibaba 等等,后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,Spring Cloud Alibaba 等等,理论说再多,不如直接看代码。

2026-03-12 09:31:48 70

原创 面试官:设计模式的 7 大基本原则有哪些?

后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,Spring Cloud Alibaba 等等,:在重写方法时,子类的前置条件(对输入的要求)不能比父类更严格,后置条件(对输出的承诺)不能比父类更宽松。当需求变化时,我们通过增加新的代码(如新的子类、实现类)来扩展功能,而非修改现有的、稳定的代码。:OCP 不是绝对的,100% 的关闭不可能。:避免 "胖接口"。:确认你对面向对象设计(OOD)的核心思想有系统性的认知,这些原则是 OOD 的基石。

2026-03-11 16:10:28 357

转载 SpringBoot 4 最被低估的新特性:Spring Data AOT

后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,Spring Cloud Alibaba 等等,后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,Spring Cloud Alibaba 等等,已完结,基于 Spring Cloud Alibaba + Spring Boot 3.x + JDK 17...,在传统的 Spring Data 应用中,每次启动,框架都会做大量工作。

2026-03-10 14:30:24 36

转载 太强了!这份Java面试八股文帮418人拿下大厂Offer,金三银四必看!!!

让你在面试中不仅能够回答问题,还能够展示自己的思维方式和技术深度。篇幅有限,暂时只展示这么多,想要全套资料的自己。有时间的强烈建议学习一下,本课程由图灵课堂的。共同主讲,通过真实项目案例的分析和演练,直接用,随手截了部分资料,大家先看下,,这里也给大家推荐一个免费技术课程——六、SpringCloud相关知识点。更快了解面试重点和系统学习技术的朋友。,再拿过时面经硬背,只会越面越慌!,深挖近3个月一线互联网、科技公司。提问逻辑、评分标准、高频考点。七、Redis相关知识点。九、MySQL相关知识点。

2026-03-10 14:30:24 16

原创 面试官:什么是 Java 序列化与反序列化?

候选人是否能在实际开发中(如 RPC 调用、对象缓存、持久化存储)正确应用序列化,并了解其性能、安全方面的局限性以及主流的替代方案(如 JSON、Protocol Buffers)。:高效的二进制序列化方案,跨语言、高性能、体积小、有清晰的模式定义(Schema),是现代 RPC 框架(如 gRPC)和大数据系统的首选。:在新项目中,除非有强兼容性需求,否则应优先考虑使用 JSON(如 Jackson/Gson)或高效的二进制协议(如 Protobuf)。在反序列化时,JVM 会比较字节流中的。

2026-03-10 14:30:24 336

原创 面试官:Java 是编译型还是解释型语言?

JVM 运行时,会统计每个方法的执行次数。:JDK 9 引入了实验性的 AOT(Ahead-Of-Time)编译器(jaotc),允许将字节码直接提前编译成本地机器码,进一步缩短启动时间,这在一定程度上模糊了传统"编译 vs 解释"的界限。的前端编译实现了平台无关性,又依靠 JVM 在运行时对热点代码进行即时编译(JIT),在保证跨平台能力的同时,获得了近乎编译型语言的高性能。前期的编译(javac)产出字节码,后期的执行(JVM)则采用解释(快速启动) + 编译(JIT,高效运行)的混合策略。

2026-03-09 09:31:11 646

转载 Elasticsearch 写入性能排查“五板斧”

可考虑 "_source": { "enabled": false }或 includes/excludes,减小写入和存储(会牺牲 reindex/update 能力,需按业务权衡)。日常排查时,一般先跑 1 + 2(延迟/队列 + reject)就能判断是「写入路径堵了」还是「refresh/merge 拖后腿」,再按上面顺序往下细查即可。看各节点的 indexing.index_current、indexing.index_failed、indexing.delete_current。

2026-03-09 09:31:11 28

原创 面试官:什么是 fail-fast?什么是 fail-safe?

这种设计平衡了性能和数据可见性。之后即使原集合被修改(写操作会复制新数组),迭代器遍历的依然是旧数组,因此不会感知到修改,也绝不会抛出异常。这是典型的"读写分离"思想,代价是内存占用和写性能。Fail-Safe 是 "容忍修改,保证过程不中断",强调可用性和最终一致性。迭代器基于集合的某个"快照"或"视图"进行工作,因此不会抛出。本身是线程安全的,但如果你在迭代时进行复合操作(如 "检查再执行"),仍然需要额外的同步。能否根据 "快速失败" 或 "安全失败" 的特性,为不同并发场景选择合适的集合容器。

2026-03-08 16:15:30 501

转载 拒绝写重复代码,试试这套开源的 SpringBoot 组件,效率翻倍~

在引入 Graceful Response 前,有的开发者在定义 Service 层的方法时,为了在接口中返回异常码,干脆直接将 Service 层方法定义为 Response,淹没了方法的正常返回值。注解,通过该注解将异常和错误码关联起来,这样 Service 方法就不需要再维护 Response 的响应码了,直接抛出业务异常,由 Graceful Response 进行异常和响应码的关联。以下伪代码相信大家非常熟悉,我们大部分项目的 Controller 接口都是这样的。

2026-03-07 15:28:47 37

原创 面试官:AIO、BIO 和 NIO 的区别是什么?

后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,Spring Cloud Alibaba 等等,:不仅仅是记住名称,更想知道你是否了解从同步阻塞到同步非阻塞,再到异步非阻塞这一演进过程背后的驱动力(即解决高并发、高性能网络编程的瓶颈)。且未充分优化(仍可能使用后台线程池模拟异步),性能提升不明显,同时 API 复杂且生态系统不完善,导致实际采用率低。它们对 NIO 进行了优雅的封装,提供了更友好的 API 和强大的功能(如心跳、重连、编解码等)。

2026-03-07 15:28:47 251

原创 面试官:Spring 中创建 Bean 有几种方式?

这个对象是 Bean 的 "配方" 或 "蓝图",包含了 Bean 的类名、作用域、初始化方法、属性值等所有元数据。在 Spring 中,创建(更准确地说是 "定义" 或 "注册")Bean 的方式主要有以下五种,它们本质上是向 IoC 容器提供。:不仅仅是知道有几种方式,更是想知道你是否理解 "声明 Bean" 到 "容器实例化 Bean" 这个核心流程的起点在哪里。在实际开发中,应根据 "是否控制源码"、"对象构造复杂度"、"配置灵活性" 等需求,灵活选用。

2026-03-06 16:33:09 373

转载 SpringBoot 怎么实现订单 30 分钟自动取消?

利用 Redis 的键过期事件功能,当订单生成时在 Redis 中存储一个键,设置 30 分钟过期,键过期时通过 Redis 的过期事件通知功能触发订单取消操作。使用消息队列(如 RabbitMQ)的延迟队列功能,当订单生成时将订单 ID 推送到延迟队列,设置 30 分钟后过期,过期后消费该消息,取消订单。在电商和其他涉及到在线支付的应用中,通常需要实现一个功能:如果用户在生成订单后的一定时间内未完成支付,系统将自动取消该订单。在实际使用中,你可能需要根据自己的需要对代码进行相应的调整和优化。

2026-03-06 16:33:09 32

转载 加了 LIMIT 1,为什么查询反而变慢了?

后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,Spring Cloud Alibaba 等等,这听起来非常合理,毕竟数据库只要找到一条满足条件的记录,就可以收工回家,不用再把剩下的几百万行数据扫一遍,既省 IO 又省 CPU。在这个案例里,MySQL 的优化器因为过度自信,觉得“很快就能找到这一条”,结果在数据分布不均匀的情况下翻了车。在这个案例里,用户 10086 是个老用户,他最近的一笔“处理中”的订单,其实是一年前下的。

2026-03-05 09:01:36 40

原创 面试官:为什么 Tomcat 默认最大线程数是 200,而不是 N+1?

在 I/O 等待期间,CPU 是空闲的。计算任务,目的是在 CPU 核心满载时,利用额外的 1 个线程处理其他任务(如监控、日志),以最大化 CPU 利用率。: 能否从操作系统线程调度开销、内存消耗(每个线程的栈空间)、以及数据库连接池等下游资源限制等多个维度,综合分析线程数设置的边界。: 当增加线程数,QPS 不再显著增长,甚至下降,而 RT 开始飙升时,说明达到了当前环境下的最佳线程数。,让一部分线程在 I/O 等待时,CPU 可以去执行其他就绪线程的任务,从而提高整体的资源利用率和吞吐量(QPS)。

2026-03-05 09:01:36 534

空空如也

空空如也

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

TA关注的人

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