- 博客(5)
- 收藏
- 关注
原创 一篇文章从头到尾带你了解多线程
本文总结了Java多线程的实际应用经验,重点介绍了线程池的使用方法。文章从多线程的优势讲起,对比了三种线程创建方式的优缺点,深入解析了线程池的核心参数和工作原理。针对不同任务类型(CPU密集型和IO密集型)提供了线程池配置建议,并比较了Java内置线程池的适用场景与风险。最后通过电商详情页并发调用多个服务的案例,展示了CompletableFuture结合线程池的实际应用,以及利用DelayQueue实现订单超时关闭的典型场景。作者强调应根据业务特性自定义线程池,避免直接使用Executors创建线程池可能
2025-10-21 16:04:03
1026
原创 设计模式之策略模式
官方的定义给的是:定义一系列算法,将每个算法封装到独立的类中,使他们可以相互替换,且算法的变化不会影响使用算法的客户端。这里看着可能比较抽象,其实通俗来讲就是给同一个问题准备多个解决方案,并且这个解决方案后续还可能扩展。比如你现在有一个出行的service,你可选的方式是骑车,走路,打车三个方式。System.out.println("选择步行出行");System.out.println("选择骑行出行");System.out.println("选择打车出行");} else {
2025-09-27 13:25:55
1129
原创 分布式雪花算法ID
做分布式系统的订单 ID 时,最头疼的就是‘既要唯一,又要按时间有序’。我之前跟进的某个工业互联网项目里,架构师先排除了UUID,最终敲定了雪花算法。我询问之后恍然大悟。整理了这篇文章,来拆解雪花算法的原理、实现和落地细节。
2025-09-17 15:15:11
977
原创 设计模式之Builder
Builder设计模式解决了传统构造方法在创建复杂对象时的三大痛点:1)避免构造器重载臃肿问题,通过链式调用按需设置属性;2)消除参数顺序记忆负担,每个属性通过独立方法设置;3)内置参数校验机制,确保对象创建时就符合业务规则。该模式将对象构建过程与表示分离,通过Builder类逐步构建,最终调用build()方法生成不可变对象。相比@Builder注解,手动实现Builder可以集成业务校验逻辑(如邮箱格式、手机号验证等),既保证了代码简洁性,又确保了对象创建时的安全性,特别适用于包含大量可选参数的复杂对象
2025-09-04 12:16:54
991
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅