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

异步分发器

执行器

自定义线程池

相关推荐
白露与泡影10 小时前
2026大厂Java面试题大全!牛客网最新版
java·开发语言
EntyIU11 小时前
JVM内存与GC笔记
java·jvm·笔记
XS03010611 小时前
并发编程 六
java·后端
yaoxin52112311 小时前
419. 现代 Java IO 最佳实践 - 写入文本文件
java·windows·python
雪宫街道11 小时前
synchronized 锁的范围:对象锁、类锁与代码块锁
java·jvm·后端·面试
x***r15111 小时前
linux安装 jdk-8u291-linux-x64.tar.gz 详细步骤(解压配置环境变量)
java
极光代码工作室12 小时前
基于SpringBoot的校园论坛系统
java·springboot·web开发·后端开发
XS03010612 小时前
Spring Bean 作用域 & 生命周期
java·后端·spring
NagatoYukee12 小时前
Spring Security基础部分学习
java·学习·spring
彦为君12 小时前
JavaSE-07-异常机制
java·开发语言·后端·python·spring