Java两大工具库Commons和Guava如何使用


本文小编为大家详细介绍“Java两大工具库Commons和Guava如何使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java两大工具库Commons和Guava如何使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。除了操作集合、限流和缓存,Guava还有另一个隐秘的功能:事件总线EventBus机制——是发布-订阅模式的实现,不需要显式地注册回调——比观察者模式更灵活。EventBus是在单体架构内实现松耦合的一种很好的手段,通过它可以实现与业务逻辑无关的事件监听和消费。Guava提供的事件总线EventBus分为两种:1、同步事件EventBus,主要用于单线程环境;2、异步事件AsyncEventBus免费云主机域名,主要用于多线程环境。可以稍稍回顾一下观察者模式。在支付系统的设计模式中,当完成交易后,需要给用户发送通知时就使用到了观察者模式,怎么做的呢?1、定义账户观察者接口及其子接口支付观察者和积分观察者;2、支付抽象类实现这两个子接口,具体支付类阿里支付、微信支付和余额支付,也都分别实现这两个子接口;3、在账户类中加入观察者接口列表,并增加注册、删除和调用观察者接口的方法;4、在支付时将各类支付方式注册到账户的观察者列表中;5、在交易完成后,就可以调用账户的调用观察者接口的方法,实现回调。观察者模式的实现稍嫌麻烦。既然用观察者模式实现比较麻烦,那不妨换个思路,用Guava EventBus来实现,而且无需继承任何接口。调用、发送回调通知同样也很简单,用EventBus把支付回调再来实现一遍。运行main方法,可以看到,尽管没有显式声明观察者接口,但通过一个@Subscribe注解,就完成了方法回调。这就是EventBus比观察者模式要灵活强大的地方。如果还不满足,那就再来一个例子。用EventBus把刚才家庭妇女做家务的例子再来做一遍(现在换成家庭妇男):运行main方法,可以看到和之前一样的效果。事件总线的一个缺点是,回调接口必须有参数,这并不友好。读到这里,这篇“Java两大工具库Commons和Guava如何使用”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注百云主机行业资讯频道。

相关推荐: Shiro在springboot中如何快速实现

这篇“Shiro在springboot中如何快速实现”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Shiro在springboot中如何快速实现…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 02/10 11:09
下一篇 02/10 11:09

相关推荐