摘要: 在Spring boot项目中使用策略模式消除if else代码 在实际的项目中,随着场景的增加,代码的逻辑会越来越复杂。此前苦于代码中if...else越来越多,所以运用了设计模式中的 策略模式 对其进行重构。 业务场景概述 ~~~ 1. 业务为扣款业务 2. 因为扣款通道的不同,需要对其进行判断 阅读全文
posted @ 2020-03-17 20:46 千里暮雲平 阅读(1665) 评论(0) 推荐(0) 编辑
摘要: LinkedList源码分析 LinkedList 也是Java提供等Collection容器的一种,与ArrayList不同的是,LInkedList支持随机的插入与删除,因为其底层数据结构实现是一种双向的链表结构。 初始化 LinkedList的无参构造只会创建一个空对象,因为底层数据结构不同, 阅读全文
posted @ 2020-03-17 20:43 千里暮雲平 阅读(100) 评论(0) 推荐(0) 编辑
摘要: ArrayList源码分析 ArrayList是collection下的集合,底层是动态数组实现,其中的数据可以重复 初始化 ArrayList初始化,有三种方式,一般不指定容量的情况下,初始化只会将空元素集合赋值给相应的元素数据集合, ~~~java // 所以,初始化的集合,容量为0,是一个Ob 阅读全文
posted @ 2020-03-17 20:42 千里暮雲平 阅读(317) 评论(0) 推荐(0) 编辑
摘要: 单例模式 保证该类只有一个实例,并提供一个全局访问点 懒汉模式 懒汉模式是指该单例模式不会提前创建实例,只有外部调用时才会创建一个实例,好处是 如果使用不到就不会占用内存资源 非线程安全 ~~~Java / 懒汉模式1,私有化构造器,私有静态变量,提供一个全局访问方法 @author leo.z.l 阅读全文
posted @ 2019-11-27 17:00 千里暮雲平 阅读(137) 评论(0) 推荐(0) 编辑
摘要: Spring HTTP 请求下划线参数转换为小驼峰参数 场景概述: 最近项目中使用到外部API,对方回传的参数格式为蛇形命名规则的参数(student_name),而我需要将其转换为小驼峰规则的参数(studentName),比较常规的做法就是自定义一个转换器,比较麻烦。以下是后来想到的一种方案 原 阅读全文
posted @ 2019-10-17 09:51 千里暮雲平 阅读(7828) 评论(0) 推荐(0) 编辑
摘要: 使用spring boot构建动态多数据源 多数据源的配置方式有很多种,比较常见的有固定的多数据源,使用注解指定数据源,根据传递的参数指定数据源。个人认为第三种更加灵活 根据参数确定使用的多数据源,其原理与使用注解指定类似 我这里使用的是第二种, 使用注解指定数据源 使用多数据源的背景 多数据源一般 阅读全文
posted @ 2019-10-03 16:05 千里暮雲平 阅读(1013) 评论(0) 推荐(0) 编辑
摘要: Java String的理解 在Java中String是一个比较特殊的对象 不可继承,不可变,直接赋值创建 不可继承,不可变 String 类型被标 final 关键字修饰,所以不可继承 ~~~Java public final class String implements java.io.Ser 阅读全文
posted @ 2019-10-03 10:09 千里暮雲平 阅读(299) 评论(0) 推荐(0) 编辑
摘要: Java位运算符 位运算符 在计算机中所有的数据都是以二进制进行存储的,对二进制的进行的运算都称为位运算,一般而言,乘法位运算会比乘法较快一点。 Java中的位运算 | 运算符 | 含义 | 描述 | 注 | | | | | | | ~ | 位非(NOT) | 反转操作数的比特位,即0变成1,1变成 阅读全文
posted @ 2019-09-25 10:25 千里暮雲平 阅读(369) 评论(0) 推荐(0) 编辑