- 博客(89)
- 资源 (2)
- 收藏
- 关注
原创 一文读懂Netty时间轮,延迟任务的调度像坐旋转木马一样简单,附详细实现代码
Netty的HashedWheelTimer是一个高效的定时任务调度工具,它通过哈希时间轮的数据结构,实现了O(1)时间复杂度的任务添加和执行,非常适合处理大量的定时任务。高效处理大量定时任务内存占用相对较小实现简单,代码优雅适合网络应用场景
2025-05-07 07:15:00
308
原创 20分钟搞定SpringBoot方法级全链路监控,老板直呼太香了!
全链路监控,简单来说就是追踪一个请求从进入系统到返回结果的整个过程,记录下每个环节的调用关系、耗时等信息。
2025-05-06 09:06:39
868
原创 加密与加签源码级别全解析,Java开发者必备的数据安全“护城河“
加密就像是给你的信息上了一把锁。只有拥有钥匙的人才能打开锁,看到里面的内容。在数字世界中,这把"锁"是一个复杂的算法,而"钥匙"则是密钥。加密的目的是保证数据的机密性,防止未授权的人读取敏感信息。加签则像是在信息上盖了一个特殊的印章。这个印章能证明:1)这条信息确实是你发出的;2)信息在传输过程中没有被篡改。加签的目的是验证数据的完整性和确认发送者身份(认证)。消息摘要(Message Digest)又称哈希(Hash)算法,它将任意长度的数据转换为固定长度的"指纹"。单向性:无法从摘要逆推原文。
2025-04-29 07:30:00
368
原创 六大主流分布式ID生成算法,从原理到代码讲解,内含实现细节
想象一下,你的小店生意太好了,从一家扩展到了连锁店。以前在一家店时,顾客编号从1开始自增就行。但现在多家店同时服务,如果各自从1开始编号,就会出现重复的顾客号——这就是分布式系统面临的ID问题。分布式ID是在分布式系统中确保全局唯一的标识符。全局唯一性:在整个分布式系统中不会重复高性能:生成速度快高可用:服务不能轻易挂掉趋势递增:便于数据库存储与索引信息安全:不包含敏感信息方案优点缺点适用场景UUID实现简单,无需外部依赖ID过长,无序,索引效率低对性能要求不高,无需排序。
2025-04-28 08:46:08
571
原创 高频面试,请说说MySQL MVCC 事务隔离机制的实现原理
MVCC(Multi-Version Concurrency Control)多版本并发控制,说人话就是,MySQL让你看到的数据,可能是它专门为你版本控制后的结果,而不是数据库里实际存储的当前值。
2025-04-21 08:40:27
995
原创 【说清架构系列】万字长文剖析RocketMq高可用架构
从架构设计上看,RocketMQ采用了简单但高效的方案,如NameServer的无状态设计、Broker的主从架构、存储的顺序写设计等。在高可用性方面,通过DLedger组件实现了真正意义上的高可用。
2025-04-18 08:55:22
735
原创 限流算法全梳理,从原理到面试,一文说清
随着微服务架构和云原生技术的发展,限流算法也在不断演进,未来会出现更多智能化、自适应的限流策略,如 AI 辅助的自适应限流、基于业务语义的限流等。
2025-04-17 08:52:24
672
原创 JVM偏向锁的前世今生以及“退位“真相
在职业生偏向锁是Java并发编程中的一个精巧设计,它利用"大多数情况下,锁不存在竞争"这一特性来优化性能。涯中,偏向锁的设计思路启我,有时候"偏心"也是一种优化策略,只要清楚代价并能接受潜在的影响。
2025-04-08 07:30:00
922
原创 【说清架构系列】万字长文,说清Redis分布式高可用架构,打造不宕机的缓存系统
Redis的高可用架构就像一座冰山,表面上看起来简单,但内部蕴含着丰富的技术细节和设计思想,作为架构师,我们需要深入理解这些原理,才能在实际工作中设计出稳定可靠的系统,希望本文能够帮助你更深入地理解Redis分布式高可用架构,从入门到精通,逐步掌握这一技术栈
2025-04-03 07:51:32
908
原创 【说清架构系列】万字长文剖析ElasticSearch高可用架构,内含代码,从入门到精通的避坑实战
ElasticSearch作为一个分布式搜索和分析引擎,具有高扩展性、高可用性和近实时性的特点。它的核心架构包括集群、节点、索引、分片等组件,通过分布式存储和计算实现了大规模数据的处理能力。
2025-04-02 07:45:00
1919
原创 Kafka最新架构深度剖析,一文掌握分布式消息引擎核心架构
Kafka的发展历程告诉我们,优秀的架构设计必定是简单且高效的,从最初的消息队列到如今的事件流平台,Kafka始终保持着其设计哲学,简单,高性能,可扩展,在实际工作中,不仅要掌握Kafka的使用方法,更要理解其设计思想,只有这样才能在合适的场景选择合适的技术解决方案,希望这篇文章能帮助你更好地理解和应用Kafka,如果你想深入学习,可以阅读官方文档和相关书籍,也可以关注我的公众号,我会持续分享更多架构设计和技术实践的经验,技术没有终点,让我们一起在学习的路上前行。
2025-04-01 07:37:32
644
原创 【说清架构系列】万字长文剖析MySQL高可用架构,内含代码,从入门到精通的避坑实战
MySQL高可用是任何严肃的生产系统都必须考虑的问题。从简单的主从复制到复杂的分布式集群,每种方案都有其适用场景和优缺点。
2025-03-31 07:55:55
654
原创 架构师必备!一文吃透分布式事务框架选型,从入门到精通
分布式事务是分布式系统中不可避免的挑战,随着微服务架构的普及,掌握分布式事务的原理和实践变得越来越重要。
2025-03-31 06:45:00
963
原创 分布式锁,万字长文,从入门到实战,看这一篇就够了
分布式锁看似简单,实则蕴含了丰富的分布式系统理论和实践经验。本文能帮助大家更全面、更深入地理解分布式锁的工作原理和实现方式,在实际项目中更好地应用这一技术。
2025-03-30 08:33:42
722
原创 面试被吊打!Redis跳表,难道只有我不知道吗
面试过程中,Redis作为微服务中不可缺少的技术应用,经常会出现在面试官的啼哭中,而跳表又是Redis中非常重要的一个数据结构,它支撑着Redis有序集合(Sorted Set)的高效实现。
2025-03-29 15:07:59
648
原创 Reactor网络模型详解,高性能服务器的心脏
为什么Nginx能支撑如此多的并发连接?又或者Redis为何能达到惊人的性能?这篇文章会告诉你答案
2025-03-27 07:26:36
929
原创 Linux I/O多路复用技术详解,从select到epoll的进化之路
Linux I/O多路复用技术详解,从select到epoll的进化之路
2025-03-26 07:51:15
664
原创 考验Java深度!零拷贝技术,mmap和sendfile深度对比
Java世界中两种超强的零拷贝技术,也是面试中经常会遇到的问题,mmap和sendfile
2025-03-24 06:45:00
1528
原创 LinkedList,经典永不过时,面试官角度深度剖析
在这种数据机构中,如果是添加和删除,只需要改变指针的引用即可,时间复杂度为O(1),但是查询需要遍历节点才能找到对应的节点值,但是linkedlist做了优化,会将遍历分成前后两部分,然后判断查询的索引在那一块区域,如果在前半部分,从头结点开始遍历,如果是后半部分,从尾结点开始遍历,总的来说,时间复杂度为O(n)。LinkedList,首先说说它的链表数据结构,清楚链表的特性,可以帮助更好的匹配LinkedList的使用场景。通过上面代码的分析,可以发现,全程操作是没有做任何线程安全处理的,所以也是线程。
2025-02-09 21:50:21
766
原创 HashMap,经典永不过时,不一样的视角和面试技巧
有两个线程A和B,A线程向HashMap中插入(key-A,value-A),B线程向HashMap中插入(key-B,value-B)通过索引计算,通过hash计算后,key-A和key-B的值都为3,但是key-A.equals(key-B)为false,也就是说值不相等,那么都会往table[3]的位置插入,假设线程A和B同时执行,此时都通过。在进行索引位进行计算的时候,如果是2的倍数,在进行索引取模进行计算的时候,可以利用位运算进行取模,加快计算速度,提升性能。key:记录存储元素的key。
2025-01-31 21:03:57
749
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人