老废物乐园 瓜子的技术笔记 · Java / AI / 金融科技

设计模式在业务系统中的真实应用

重构支付模块时,我把 600 行 if-else 拆成了四个模式 上个月接手支付模块重构。打开 PaymentService.pay() 那一刻我有点懵:一个方法 600 多行,开头十几个 if (channel == WECHAT) ... else if (channel == ALIPAY)

遥望星星 遥望星星 发布于 2021-06-22

线程安全的单例模式该怎么写?双重检查锁与 volatile

面了三家公司,两次被问到"单例为什么要加 volatile" 十月中旬开始投简历试水,面试被问了三次单例模式。第一次我背出了双重检查锁的写法,面试官追问"为什么 instance 要加 volatile",我卡住了,说了句"保证可见性",他摇摇头。第二次还是同一个问题,我还是没答到点上。 回来自己翻

遥望星星 遥望星星 发布于 2019-03-12