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

异步分发器

执行器

自定义线程池

相关推荐
winfreedoms5 小时前
java-网络编程——黑马程序员学习笔记
java·网络·学习
开开心心就好5 小时前
键盘改键工具免安装,自定义键位屏蔽误触
java·网络·windows·随机森林·计算机外设·电脑·excel
IManiy5 小时前
总结之Temporal全局速率控制(二)第三方速率控制服务设计
java
OpenMiniServer5 小时前
电气化能源革命下的社会
java·人工智能·能源
独自破碎E5 小时前
LCR_019_验证回文串II
java·开发语言
坚持就完事了5 小时前
Java中的一些关键字
java·开发语言
寄存器漫游者6 小时前
数据结构 C语言 顺序栈
java·c语言·数据结构
heartbeat..6 小时前
Redis 性能优化全指南:从基础配置到架构升级
java·redis·性能优化·架构
m0_748233176 小时前
C#与C语言:5大核心语法共性
java·jvm·算法
JavaGuide6 小时前
推荐一个基于 Spring Boot 4.0 + Java 21 + Spring AI 2.0 的大模型项目!
java·spring boot·spring