Guava之EventBus源码分析

简介

事件总线。

有助于深入理解代码的功能和实现细节。

可以了解代码背后的逻辑、算法、数据结构和设计模式等方面,从而更好地理解代码的作用和功能。

可以学习到业界的最佳实践和设计模式。

这有助于提高自己的编程水平,使你能够编写更高质量、可扩展性和可维护性的代码。

代码结构

包:

com.google.common.eventbus

类:

文件 类型 描述
AllowConcurrentEvents 注解
AsyncEventBus 异步事件总线
DeadEvent 无订阅事件
Dispatcher 抽象类 分发器,有三种:PerThreadQueuedDispatcher LegacyAsyncDispatcher ImmediateDispatcher
EventBus 同步事件总线
Subscribe 注解 事件订阅注解
Subscriber 订阅者
SubscriberExceptionContext 订阅异常上下文
SubscriberExceptionHandler 接口 订阅异常处理器
SubscriberRegistry 单个事件总线的订阅者的注册

设计模式

观察者模式

发布订阅模式

核心类

分发器

1、PerThreadQueuedDispatcher

同步分发器

执行器

MoreExecutors.directExecutor()

2、LegacyAsyncDispatcher

异步分发器

执行器

自定义线程池

相关推荐
Mr__Miss7 小时前
Java泛型完全指南:从入门到精通
java·开发语言·python
jinyishu_8 小时前
模拟实现 C++ 栈和队列——从适配器模式看懂 STL 容器之美
java·c++·适配器模式
前端工作日常8 小时前
我学习到的Java类和对象区别
java·后端
前端工作日常9 小时前
我学习到的Java类完整结构
java·后端
什巳9 小时前
JAVA练习309- 二叉树的层序遍历
java·数据结构·算法·leetcode
宠友信息9 小时前
消息序号如何保证即时通讯源码聊天记录稳定加载
java·spring boot·redis·python·mysql·uni-app
圣光SG9 小时前
Java Web入门基础知识笔记
java·前端·笔记
行思理10 小时前
微信支付“商家转账用户确认模式”,新手教程
java·开发语言·微信
空中湖11 小时前
Spring AI RAG 完整实战:从零搭建企业知识库问答系统
java·人工智能·spring
Ai拆代码的曹操11 小时前
K8s Pod Pending 逐层排查:从 FailedScheduling 到 PVC StorageClass 不存在的实战记录
java·linux·kubernetes