随笔分类 - f-抽象设计
摘要:通用的数字转换工具类org.apache.commons.lang3.math.NumberUtils,字符串转数字时不抛出异常
阅读全文
摘要:对接第三方时,请求和响应里的字段往往不符合java变量小驼峰的命名规范
阅读全文
摘要:hibernate-validator 主动调用进行参数校验
阅读全文
摘要:使用@NotNull和@Nullable避免编码中出现空指针异常
阅读全文
摘要:常用的校验API Assert org.springframework.util.Assert **用途:**可用在controller校验参数上,并由全局异常捕获器捕捉IllegalArgumentException,返回友好提示 **缺点:**不能返回业务的异常码,不过可参考改写成适合自己的 /
阅读全文
摘要:@SneakyThrows, @UtilityClass, @CleanUp
阅读全文
摘要:The Java Language Specification recommends listing modifiers in the following order: Java语言规范建议按以下顺序列出修饰符: Annotations public protected private abstra
阅读全文
摘要:Optional实际应用 Optional的常用Api 将集合转化成另一种类型的集合 优点: 较之前更安全的操作集合,省略了判null,链式编程,且方便指定默认值 /** * 将集合转化成另一种类型的集合 */ @Test public void test0() { List<String> lis
阅读全文
摘要:`理解记忆:`一个房主,一个租房者,一个中介机构,房主和租房者只需要知道 中介机构,中介机构要知道房主和租房者,中介机构负责双方的信息传递,
阅读全文
摘要:目录状态模式01 定义:02 结构03 案例实现04 优缺点05 使用场景 状态模式 01 定义: 对有状态的对象,把复杂的“判断逻辑”提取到不同的状态对象中,允许状态对象在其内部状态发生改变时改变其行为。 注释:就是状态不同时所能做的事情不同,用状态模式取代复杂的if else判断 02 结构 状
阅读全文
摘要:静态代理
静态代理类在编译期就生成,当接口方法数量比较多的,需要对每个方法进行中转,增加了代码的维护难度
阅读全文
摘要:JDK动态代理 JDK提供的动态代理。Java中提供了一个动态代理类Proxy,proxy提供了一个创建代理对象的静态方法(newProxyInstance方法)来获取代理对象 01 代码 1> 卖票接口 /** * 卖票接口 * @author : lyn */ public interface
阅读全文
摘要:CGLIB动态代理 CGLib使用字节码技术生成代理类,在JDK1.6之前比java反射效率高,到jdk1.8的时候jdk的代理效率高于cglib代理 cglib不能对生命为final的类或者方法进行代理,因为cglib的原理是动态生成被代理类的子类 CGLIN是第三方提供的包,需要引入jar包 <
阅读全文
摘要:JVM 在加载外部类的过程中, 是不会加载静态内部类的, 只有内部类的属性/方法被调用时才会被加载, 并初始化其静态属性
阅读全文
摘要:开闭原则:对扩展开放,对修改关闭 里氏代换原则:任何父类出现的地方,子类一定可以出现;通俗理解:子类可以扩展父类的功能,但不能修改父类原有的功能 依赖倒转原则:高层模块不应该依赖于低层模块,两者都应该依赖于抽象;抽象不应该依赖于细节,细节应该依赖于抽象 接口隔离原则:客户端不应该被迫依赖于他不使用的
阅读全文
摘要:使用策略设计模式+工厂模式+模板方法模式取代if else
Map+函数式接口通过Map.get(key)来代替 if-else的业务分派
阅读全文

浙公网安备 33010602011771号