0%
词法分析器的应用
Java SPI 的原理与应用
前言
不知大家现在有没有去公司复工,我已经在家办公将近 3 周了,同时也在家呆了一个多月;还好工作并没有受到任何影响,我个人一直觉得远程工作和 IT 行业是非常契合的,这段时间的工作效率甚至比在办公室还高,同时由于我们公司的业务在海外,所以疫情几乎没有造成太多影响。
扯远了,这次主要是想和大家分享一下 Java
的 SPI
机制。周末没啥事,我翻了翻我之前的写的博客 《设计一个可拔插的 IOC 容器》,发现当时的实现并不那么优雅。
还没看过的朋友的我先做个前景提要,当时的需求:
我实现了一个类似于的 SpringMVC 但却很轻量的 http 框架 cicada,其中当然也需要一个 IOC 容器,可以存放所有的单例 bean。
这个 IOC 容器的实现我希望可以有多种方式,甚至可以提供一个接口供其他人实现;当然切换这个 IOC 容器的过程肯定是不能存在硬编码的,也就是这里所提到的可拔插。
当我想使用 A 的实现方式时,我就引入 A 的 jar 包,使用 B 时就引入 B 的包。
2019年度总结
定时任务方案大百科
延时消息之时间轮
不要小看小小的 emoji 表情😂
前言
好久没更新了,最近事比较多,或许下个月就会恢复到正常的发文频次。
这篇文章得从一个 emoji
表情开始,我之前开源的一个 IM
项目中有朋友提到希望可以支持 emoji
表情传输。
https://github.com/crossoverJie/cim/issues/12
正好那段时间有空,加上这功能看着也比较简单准备把它实现了。
如何参与一个顶级开源项目
一次难得的分库分表实践
设计一个全局异常处理器
前言
最近稍微闲了一点于是把这个半年都没更新的开源项目 cicada 重新捡了起来。
一些新关注的朋友应该还不知道这项目是干啥的?先来看看官方介绍吧(其实就我自己写的😀)
cicada: 基于 Netty4 实现的快速、轻量级 WEB 框架;没有过多的依赖,核心 jar 包仅
30KB
。