改造支付应用
Google Guava提供了EventBus(事件总线)机制,它是发布-订阅模式的实现,不需要显式地注册回调,比观察者模式更灵活。
原创大约 4 分钟
Google Guava提供了EventBus(事件总线)机制,它是发布-订阅模式的实现,不需要显式地注册回调,比观察者模式更灵活。
从CPU高速缓存
、操作系统缓存
到HTTP缓存
,再到静态文件缓存
,IT系统中到处都有缓存的身影存在。
按照范围不同,缓存又分为进程内缓存
和进程外缓存
按照架构不同,它又分为本地缓存
和分布式缓存
。
而进程内缓存
又分为组件缓存
和第三方缓存
。
组件缓存
是在程序内使用变量来存储数据,例如,Java中的List
、Map
和Set
等集合组件就常常用作这样的缓存。
第三方缓存
是利用第三方组件在系统运行时存储数据,例如,目前用的比较多的Ehcache和Guava Cache。
Nginx可以通过限流算法实现对后端服务的保护,避免因服务器承载压力太大而被冲垮。
其实Google Guava也可以实现限流(网络上称之为令牌桶,但其实Google Guava是将令牌桶和漏桶进行了混合,结合了这两种算法的优点)。
虽然Apache Commons提供了专门的Commons-Collections来封装集合操作,但Google Guava更为强大,并且已经是事实上的集合操作扩展类了,这一点从mvnrepository的引用数据就能看出来。
Java的成功很大程度上得益于开源软件的成功,尤其是构建上开源软件基础上的开源生态,这才是它能够繁荣、出圈的真正原因。
在开源的世界中,Apache的大名恐怕很少会有工程师会不知道,现今几乎一大部分业界知名开源软件,都在Apache的摇篮中
渡过了童年时代
。