原文:guava eventbus 原理+源码分析

前言: guava提供的eventbus可以很方便的处理一对多的事件问题, 最近正好使用到了,做个小结,使用的demo网上已经很多了,不再赘述,本文主要是源码分析 使用注意点 新老版本eventbus实现方式对比 一.原理 将定义的hander注册到eventbus中,eventbus遍历该handler及其父类中含有 subscribe注解的方法,封装成subscriber对象,一个event会 ...

2021-01-24 15:30 0 321 推荐指数:

查看详情

Guava源码解析之EventBus

最近看Elastic-Job源码,看到它里面实现的任务运行轨迹的持久化,使用的是Guava的AsyncEventBus,一个内存级别的异步事件总线服务,实现了简单的生产-消费者模式,从而在不影响任务执行效率的基础上,将任务执行和任务轨迹记录解耦,大大提高了EJ的性能。 EventBus ...

Wed May 24 00:32:00 CST 2017 1 2497
GuavaEventBus分析

EventBus 1. 什么是EventBus 图片来源: 2. guava EventBus的构成 3. SubscriberRegistry 18版本: 19版本: 在构建Subscriber的时候根据方法是否 ...

Mon Jan 07 06:57:00 CST 2019 0 1436
Guava 12:Guava EventBus源码剖析

一、架构速读 传统上,Java的进程内事件分发都是通过发布者和订阅者之间的显式注册实现的。设计EventBus就是为了取代这种显示注册方式,使组件间有了更好的解耦。EventBus不是通用型的发布-订阅实现,不适用于进程间通信。 架构图如下: 。 二、简单使用 步骤 ...

Wed Jul 18 01:42:00 CST 2018 7 951
guava限流器RateLimiter原理源码分析

前言 RateLimiter是基于令牌桶算法实现的一个多线程限流器,它可以将请求均匀的进行处理,当然他并不是一个分布式限流器,只是对单机进行限流。它可以应用在定时拉取接口数据, 预防单机过大流量使用。 原理 首先先讲一下令牌桶的原理,每隔一段时间生产一个令牌放入桶里,请求在执行时需要拿到 ...

Sat Nov 02 00:35:00 CST 2019 0 850
Guava Files 源码分析(二)

createTempDir()之后就没有什么有意思的函数了,基本上都是对Java IO函数操作的聚合,只看一个simplifyPath() 最后附上各函数功能的解释 下文来自: ...

Fri Sep 13 03:04:00 CST 2013 0 2735
Guava 源码分析(Cache 原理 对象引用、事件回调)

前言 在上文「Guava 源码分析(Cache 原理)」中分析Guava Cache 的相关原理。 文末提到了回收机制、移除时间通知等内容,许多朋友也挺感兴趣,这次就这两个内容再来分析分析。 在开始之前先补习下 Java 自带的两个特性,Guava 中都有具体的应用 ...

Mon Aug 06 16:01:00 CST 2018 0 902
EventBus 使用/架构/源码分析

EventBus是针对Android优化的发布-订阅事件总线,简化了Android组件间的通信。EventBus以其简单易懂、优雅、开销小等优点而备受欢迎。 github 地址:https://github.com/greenrobot/EventBus 1. 使用 1.1 ...

Mon May 06 03:32:00 CST 2019 0 879
guava--RateLimiter源码分析

限流是保护高并发系统的三把利器之一,另外两个是缓存和降级。 限流的目的是通过对并发访问/请求进行限速或者一个时间窗口内的的请求进行限速来保护系统,一旦达到限制速率则可以拒绝服务或进行流量整形。 常 ...

Thu Apr 15 03:25:00 CST 2021 0 244
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM