
开发规范
文章平均质量分 50
阿瑞的博客
你请不必打听我大名,望望无尽夜星,仍旧照亮你这一刹心境
展开
-
java11 高级特性-flatMap
一、前提建三个类 class Foo { String name; List<Bar> bars = new ArrayList<>(); Foo(String name) { this.name = name; }}class Bar { String name; Bar(String name) { this.name = name; }}class Outer {原创 2021-07-28 15:49:44 · 389 阅读 · 0 评论 -
狂神说SpringBoot14:集成Swagger终极版
https://mp.weixin.qq.com/s/0-c0MAgtyOeKx6qzmdUG0w原创 2021-06-15 15:10:07 · 205 阅读 · 1 评论 -
组合模式:如何用树形结构处理对象之间的复杂关系?
如果单纯从字面上来看,我们很容易将“组合模式”和“组合关系”搞混。组合模式最初只是用于解决树形结构的场景,更多的是处理对象组织结构之间的问题。而组合关系则是通过将不同对象封装起来完成一个统一功能。虽然组合模式并不常用,但是学习它的原理能够帮助我们获得更多复杂结构上的思考。比如,MySQL 的索引设计中就是用了 B+ 树算法的组合模式设计,极大地提升了数据查询时的性能。组合模式的原理很容易理解,但是在代码实现上却是反直觉的,如果你一下子看不懂其原理,我建议你多看几遍,并结合例子来反复思考。话不多说,让我们原创 2021-06-11 17:24:05 · 515 阅读 · 0 评论 -
适配器模式:如何处理不同 API 接口的兼容性?
如果说创建型设计模式的关注重点在于一个对象内部结构的话(常常是接口与实现的组合),那么结构性设计模式的关注重点就在于多个对象之间的组合方式。结构型设计模式一共包括七种:适配器模式、桥接模式、组合模式、装饰模式、门面模式、享元模式和代理模式。今天这一讲,我们主要讲解最常用到的适配器模式。那么,话不多说,让我们开始今天的学习吧!模式原理分析适配器模式的原始定义是:将类的接口转换为客户期望的另一个接口,适配器可以让不兼容的两个类一起协同工作。该定义中明确说明了适配器模式的关键点就在于转换,而转换时要在已原创 2021-06-11 17:17:16 · 2355 阅读 · 1 评论 -
JDK8新特性-全网最全总结
1 Lambda表达式&函数式接口1.1,什么是Lambda表达式?lambda 表达式可以理解为一种匿名函数的代替,lambda允许将函数作为一个方法的参数(函数作为方法参数传递),将代码像数据一样传递,目的是简化代码的编写。1.2,什么是函数式接口?lambda表达式需要函数式接口的支持,所谓函数式接口,是指只有一个抽象方法,另外JDK8也提供了一个注解,帮助我们编译时检查语法是否符合@FunctionInterface1.3,Lambda表达式使用案例lambda表达式的基本语原创 2021-05-20 18:29:02 · 275 阅读 · 4 评论 -
阿里巴巴开发规范——OOP 规约
OOP 规约【强制】避免通过一个类的对象引用访问此类的静态变量或静态方法,无谓增加编译器解析成本,直接用类名来访问即可。【强制】所有的覆写方法,必须加@Override 注解。说明:getObject()与 get0bject()的问题。一个是字母的 O,一个是数字的 0,加@Override 可以准确判断是否覆盖成功。另外,如果在抽象类中对方法签名进行修改,其实现类会马上编译报错。【强制】相同参数类型,相同业务含义,才可以使用 Java 的可变参数,避免使用 Object。说明:原创 2021-05-19 12:22:44 · 368 阅读 · 0 评论 -
Assert.assertEquals()方法参数详解
junit.framework包下的Assert提供了多个断言方法. 主用于比较测试传递进去的两个参数.Assert.assertEquals();及其重载方法: 1. 如果两者一致, 程序继续往下运行. 2. 如果两者不一致, 中断测试方法, 抛出异常信息 AssertionFailedError .查看源码, 以Assert.assertEquals(int expected, int a...原创 2019-04-22 16:10:15 · 27984 阅读 · 0 评论 -
PO,BO,VO和POJO的区别和应用场景
PO:persistent object 持久对象1 .有时也被称为Data对象,对应数据库中的entity,可以简单认为一个PO对应数据库中的一条记录。2 .在hibernate持久化框架中与insert/delet操作密切相关。3 .PO中不应该包含任何对数据库的操作。POJO :plain ordinary java object 无规则简单java对象一个中间对象,可以转化为PO...原创 2019-05-14 16:25:52 · 1061 阅读 · 1 评论 -
java 实体为什么要实现序列化接口
**所谓的Serializable,就是java提供的通用数据保存和读取的接口。至于从什么地方读出来和保存到哪里去都被隐藏在函数参数的背后了。这样子,任何类型只要实现了Serializable接口,就可以被保存到文件中,或者作为数据流通过网络发送到别的地方。也可以用管道来传输到系统的其他程序中。这样子极大的简化了类的设计。只要设计一个保存一个读取功能就能解决上面说得所有问题。java...原创 2019-04-22 16:27:27 · 1334 阅读 · 1 评论 -
java通俗易懂的了解反射
反射机制是在程序运行状态中, 对于任意一个类, 都能够知道这个类的所有属性和方法; 对于任意一个对象, 都能够调用它的任意一个属性和方法。依靠此机制,可以动态的创建一个类的对象和调用对象的方法。常用的Api为Class.forName(完整包名)等等优点就是增加灵活性,可以在运行时动态获取对象实例。缺点是反射的效率很低,而且会破坏封装,通过反射可以访问类的私有方法,不安全。框架中的运用:Spring 框架的 IOC 基于反射创建对象和设置依赖属性。mybatis框架通过读取sql,得到字段名称(.原创 2021-04-24 10:39:12 · 152 阅读 · 2 评论 -
java阿里最全的开发规约
阿里的java规范官网下载 https://developer.aliyun.com/article/757672?utm_content=g_1000134073原创 2021-04-28 00:50:07 · 286 阅读 · 1 评论 -
阿里巴巴开发规范——代码格式
代码格式【强制】 如果是大括号内为空,则简洁地写成{}即可,大括号中间无需换行和空格;如果是非空代码块则:1) 左大括号前不换行。2) 左大括号后换行。3) 右大括号前换行。4) 右大括号后还有 else 等代码则不换行;表示终止的右大括号后必须换行。【强制】左小括号和右边相邻字符之间不出现空格;右小括号和左边相邻字符之间也不出现空格;而左大括号前需要加空格。详见第 5 条下方正例提示。反例:if (空格 a == b 空格)【强制】if/for/while/switch/do原创 2021-05-18 22:04:44 · 2004 阅读 · 0 评论