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

异步分发器

执行器

自定义线程池

相关推荐
huabiangaozhi8 分钟前
修改表字段属性,SQL总结
java·数据库·sql
请为小H留灯9 分钟前
一键解决 IDEA 中 Java 项目变橙色的问题!!!
java·ide·maven·intellij-idea·java项目
小文大数据28 分钟前
python实现HTML转PDF
java·前端·数据库
架构师沉默33 分钟前
为什么 Dubbo 从 ZooKeeper 转向 Nacos?
java·后端·架构
用户83071968408238 分钟前
Spring Prototype Bean的四种正确使用方式
java·spring boot·后端
永恒_顺其自然40 分钟前
Java Web 传统项目异步分块上传系统实现方案
java·开发语言·前端
赫瑞1 小时前
Java中的大数处理 —— BigInteger
java·开发语言
r_oo_ki_e_1 小时前
java25--Collection集合
java·开发语言
色空大师1 小时前
网站搭建实操(五)后台管理-短信模块
java·阿里云短信·网站·短信
极创信息1 小时前
信创软件安全加固指南,信创软件的纵深防御体系
java·大数据·数据库·金融·php·mvc·软件工程