暂无搜索历史
ConcurrentSkipListMap 是JDK1.6提供的又一个线程安全有序的 map 集合,在高并发场景下有着不错的存取效率。使用起来和 TreeMap...
线程隔离:ThreadLocal 为每个线程提供了独立的变量副本,这意味着线程之间不会互相影响,可以安全地在多线程环境中使用这些变量。
Java 7 中 ConcurrentHashMap 由很多个 Segment 组合,而每一个 Segment 是一个类似于 HashMap 的结构,所以每一个...
HashMap 主要用来存放键值对,它基于哈希表的 Map 接口实现,是常用的 Java 集合之一,是非线程安全的。
ArrayList 的底层是数组队列,相当于一个动态数组。与 Java 中的数组相比,它的容量能动态增粘,并且支持随即插入。在添加大量元素前,可以使用 ensu...
在 AQChat 项目中,我们设计了一个通用的线程池工具类 ThreadPoolUtil,用于处理各种异步任务。
在 Spring Boot 项目中,我们经常需要集成各种中间件,如 Redis、RocketMQ、第三方 AI 服务等。如果每次集成都要重复编写配置类、创建 B...
在 IM 系统中,我们需要处理多种消息类型(登录、发送消息、加入房间等),每种消息都需要对应的处理器。如果使用传统的 if-else 或 switch-case...
在即时通讯(IM)系统中,消息的实时性是核心需求。用户发送消息后,期望对方能够立即收到,而不是等待几秒钟。为了实现这种实时性,我们需要选择合适的网络协议。本文将...
消息协议是即时通讯系统的核心基础,它定义了客户端与服务端之间通信的"语言"。一个好的消息协议设计,不仅要满足当前业务需求,还要考虑扩展性、兼容性和性能。本文将基...
在即时通讯系统中,消息重复处理是一个常见且严重的问题。想象一下,用户发送了一条消息,但由于网络波动或客户端重试,同一条消息被发送了两次。如果没有去重机制,这条消...
在 IM 系统开发中,会遇到消息重复、死连接、消息丢失、性能瓶颈等问题。本文介绍 AQChat 中这些问题的解决方案。
在 IM 系统中,需要支持多个 AI 助手(如 @小Q、@小M、@小T、@小V),以及 AI 空间的多轮对话。文本介绍 AQChat 如何使用责任链模式实现多 ...
在 IM 系统中集成 AI 时,流式响应能显著提升性能。本文介绍 AQChat 如何实现 AI 流式响应,从同步等待到实时推送。
在 IM 系统中,高并发连接是核心挑战。本文介绍 AQChat 如何通过 Netty 连接管理优化支持 10万+ 并发连接。
在 IM 系统中,响应时间直接影响体验。本文介绍 AQChat 如何将消息发送响应时间从 50ms 优化到 < 10ms。
在即时通讯系统中,合理使用设计模式能提升代码的维护性和扩展性。本文介绍 AQChat 中工厂模式、策略模式、责任链模式的应用与实践。
Redis 存储房间路由信息:roomId -> [serverId1,serverId2,...]
在 IM 系统中,消息序列化协议的选择直接影响性能和用户体验,本文对比 Protobuf 与 JSON,并说明为什么选择 Protobuf。
在 IM 系统中,Redis 用于缓存、存储和去重。本文介绍 AQChat 项目中 Redis 的五种应用场景。
暂未填写公司和职称
暂未填写个人简介
暂未填写技能专长
暂未填写个人网址