
后端
文章平均质量分 94
加瓦点灯
北漂后端程序员,坚持分享后端开发相关知识,一起进步。同名公众号:加瓦点灯
展开
-
为什么总有人觉得5万块钱可以做一个淘宝?
今天,我以淘宝的系统为例,给你介绍了一个系统逐渐由简单变复杂的发展历程,希望你能认清不同业务量级的系统本质上就不是一个系统。一方面,有人会因为对业务量级理解不足,盲目低估其他人系统的复杂度;另一方面,也有人会盲目应用技术,给系统引入不必要的复杂度,让自己陷入泥潭。作为拥有技术能力的程序员,我们都非常在意个人技术能力的提升,但却对在什么样情形下,什么样的技术更加适用考虑得不够。采用恰当的技术,解决当前的问题,是每个程序员都应该仔细考虑的问题。原创 2025-04-25 15:31:02 · 747 阅读 · 0 评论 -
Docker容器化:说一说IM系统中模块水平扩展的实现
如果文章对你有帮助,点个免费的赞鼓励一下吧!关注gzh:加瓦点灯,每天推送干货知识!原创 2025-04-25 15:08:36 · 680 阅读 · 0 评论 -
Theadlocal内存泄露?没那么夸张
是 Java 提供的一种用于线程本地存储的机制。它可以为每一个线程提供一个变量的副本,使得每个线程都可以独立地修改自己的副本,而不会影响其他线程的变量。在多线程环境下,这样做的好处是避免了非线程安全的问题,无需使用锁来进行同步。是一个功能强大的工具,其核心价值在于线程封闭(Thread Confinement),将某些需隔离的资源绑定到线程生命周期,简化多线程编程复杂度。不要因为害怕内存泄露而不敢用,只要我们用完就清除,就不会泄露,大胆用起来吧!如果文章对你有帮助,点个免费的赞鼓励一下吧!关注gzh。原创 2025-04-25 15:07:52 · 606 阅读 · 0 评论 -
带着BAT大厂的面试问题去理解Synchronized
如果文章对你有帮助,点个免费的赞鼓励一下吧!关注gzh:加瓦点灯,每天推送干货知识!原创 2025-04-25 15:06:14 · 756 阅读 · 0 评论 -
SQL语句是怎么被执行的?一条sql语句的幕后旅程
虽然只是简单更新一个字段,但背后 MySQL 做了大量精密工作——从内存控制、日志写入到事务保障,处处体现出设计者的匠心。如果文章对你有帮助,点个免费的赞鼓励一下吧!关注gzh:加瓦点灯,每天推送干货知识!原创 2025-04-16 19:00:26 · 620 阅读 · 0 评论 -
从阻塞到 Reactor:理解 Java I/O 背后的架构思维
在Java的发展历程中,I/O 模型不断演进以满足高并发和高性能的需求。最初的同步阻塞 I/O 设计简单,但在高并发场景下性能瓶颈明显。为了解决该问题,Java 引入了非阻塞 I/O 模型,而后通过 I/O 多路复用技术(NIO)可以让单个线程同时处理多个 I/O 事件。最后,通过将 I/O 事件的侦测和业务处理分离(例如单线程多路复用负责监听事件,多线程负责业务处理),极大地提升了系统的伸缩性和响应速度。下面我们来详细说明这几个阶段的工作原理和实现方法。异步 I/O 模型。原创 2025-04-11 10:59:42 · 1065 阅读 · 0 评论 -
别再背线程池的七大参数了,现在面试官都这么问
Worker如何通过AQS实现不可重入锁状态机转换如何影响任务调度阻塞队列与线程存活的精妙配合七大参数对你来说不再是孤立的概念,而是有机组合的设计元素。这才是面试官真正想考察的——对并发编程本质的理解能力。下次面试时,不妨主动反问:“您是想了解参数设计的trade-off,还是具体的实现机制?” 这会让面试官眼前一亮。如果文章对你有帮助,点个免费的赞鼓励一下吧!关注gzh:加瓦点灯,每天推送干货知识!原创 2025-04-10 14:42:49 · 1006 阅读 · 0 评论 -
Spring状态机实战入门:Java程序的状态流转可以这样管
/ 订单状态枚举 /*** 订单状态枚举(有限状态集合)* 建议:状态命名要直观体现业务含义UNPAID, // 待支付(初始状态) PAID, // 已支付(支付成功后进入此状态) DELIVERING, // 发货中(商家操作发货后状态) COMPLETED // 已完成(用户确认收货后终止状态) } /*** 订单事件枚举(触发状态变化的操作)* 注意:事件命名建议使用动词形态。原创 2025-04-09 17:36:18 · 462 阅读 · 0 评论 -
三分钟知识点:Spring事务的传播机制
如果文章对你有帮助,点个免费的赞鼓励一下吧!关注gzh:加瓦点灯,每天推送干货知识!原创 2025-04-08 13:19:16 · 981 阅读 · 0 评论 -
当你的对象结构拒绝修改时,访问者模式是如何破局的?
如果文章对你有帮助,点个免费的赞鼓励一下吧!关注gzh:加瓦点灯,每天推送干货知识!原创 2025-04-02 11:42:56 · 898 阅读 · 0 评论 -
当甲方说“我全都要“:适配器模式的兼容魔法
如果文章对你有帮助,点个免费的赞鼓励一下吧!关注gzh:加瓦点灯,每天推送干货知识!原创 2025-04-01 18:26:59 · 714 阅读 · 0 评论 -
外观模式(Facade Pattern):复杂系统的“统一入口”
外观模式的深入解析原创 2025-03-29 23:28:04 · 641 阅读 · 0 评论 -
观察者模式:解耦对象间的依赖关系
观察者模式原创 2025-03-29 23:23:41 · 1135 阅读 · 0 评论 -
IM入门之:万人群聊系统设计的难点与架构优化实践
空间换时间通过内存缓冲、合并操作化解写入风暴异步化与批处理将同步操作转化为异步队列处理,提升系统吞吐数据分片与本地化避免全局状态依赖,利用哈希分片实现水平扩展柔性设计允许短暂延迟/数据不一致,换取系统整体可用性这些方案已在微博等亿级用户平台验证,可扩展至社交、IoT等需要海量消息分发的场景。在面对类似挑战时,开发者应重点关注写入放大与状态同步问题,通过分层治理实现系统弹性的跃升。加瓦点灯, 每天推送干货知识!原创 2025-03-29 23:21:17 · 812 阅读 · 0 评论 -
Guava EventBus:程序员必备的事件驱动框架,你还没用过?
Google Guava EventBus是Guava工具库中的事件驱动组件,采用发布-订阅模式实现组件间解耦通信。它提供轻量级的事件总线机制,允许不同组件通过事件进行交互而无需直接引用彼此。原创 2025-03-08 19:57:17 · 1084 阅读 · 0 评论 -
easy-rule规则引擎用法
easy-rule用法举例,源码解析原创 2022-06-20 11:39:22 · 1182 阅读 · 1 评论