- 博客(3)
- 收藏
- 关注
原创 JAVA实现扩展点
请先了解策略组合模式后再查看 技术背景: 做SDK开发的同学会遇到一个问题,需要将某些流程提供给第三方进行扩展。 本文将提供一种扩展策略。 业务背景: 导入数据做持久化时,在持久化前后做一些操作。如:1.在持久化前自定义修改数据,在持久化后记录插入数据成功后,自定义日志信息。2.在验证Excel数据是否合法时 设计思想: 借用了阿里COLA框架的思想,进行代码演变,更符合我现有的业务。 扩展点的设计类似与AOP,与AOP的不同点是扩展点可以在程序内任意代码中进行埋点。 1.申明执行扩展点方法,带
2021-07-20 21:53:22
1810
原创 JAVA策略组合模式
JAVA策略组合模式 背景:策略模式+工厂+自定义注解+spring管理。 应用于多种多策略业务场景下,无需关注创建策略对象和调用逻辑。 1.自定义策略注解,value为匹配的具体策略,order执行顺序。 /** * 策略上使用@Strategy标记来实现扫描功能 */ @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface IStrategy { String
2021-07-20 21:23:19
770
原创 Mysql隔离级别原理分析
Mysql隔离级别原理分析 1.锁的类别 和 MVCC Shared Locks(共享锁/S锁) A事物加S锁, B事务也可加S锁, 但是无法加X锁。 SELECT操作加S锁 Exclusive Locks(排它锁/X锁) A事务加X锁,B事务无法加S锁和X锁。INSERT UPDATE DELETE 操作加X锁 Record Locks(行锁) 在事务中,对索引的字段加行锁。 解决幻读。 Gap Locks(间隙锁) 在事务中, 对范围锁定用间隙锁。 解决幻读。 Next-Key Loc
2021-02-04 11:21:12
243
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅