- 博客(3)
- 收藏
- 关注
原创 JAVA实现扩展点
请先了解策略组合模式后再查看技术背景:做SDK开发的同学会遇到一个问题,需要将某些流程提供给第三方进行扩展。 本文将提供一种扩展策略。业务背景:导入数据做持久化时,在持久化前后做一些操作。如:1.在持久化前自定义修改数据,在持久化后记录插入数据成功后,自定义日志信息。2.在验证Excel数据是否合法时设计思想:借用了阿里COLA框架的思想,进行代码演变,更符合我现有的业务。 扩展点的设计类似与AOP,与AOP的不同点是扩展点可以在程序内任意代码中进行埋点。1.申明执行扩展点方法,带
2021-07-20 21:53:22
1561
原创 JAVA策略组合模式
JAVA策略组合模式背景:策略模式+工厂+自定义注解+spring管理。 应用于多种多策略业务场景下,无需关注创建策略对象和调用逻辑。1.自定义策略注解,value为匹配的具体策略,order执行顺序。/** * 策略上使用@Strategy标记来实现扫描功能 */@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface IStrategy { String
2021-07-20 21:23:19
594
原创 Mysql隔离级别原理分析
Mysql隔离级别原理分析1.锁的类别 和 MVCCShared 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
159
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人