我们经常在面经中看到这样的问题,为什么重写equals方法就一定要重写hashcode方法。本文就是分析这个问题。 <!--more--> 在阿里巴巴java开发手册中就给出了这样的规则。 【强制】关于 hashCode 和 equals 的处理,遵循如下规则: 1) 只要重写 equals,就必须 ...
分类:
其他好文 时间:
2020-02-28 13:44:45
阅读次数:
58
目标说明 统一良好的代码格式规范可以有效提升开发团队之间的「协作效率」,如果不同的开发团队或者开发人员采用不同的代码格式规范,那么每次Format代码都会导致大量的变化,在Code Review及Merge代码时会带来很多的干扰项。因此制定本代码规范希望达成以下目标: 统一Java代码格式规范,确保 ...
分类:
编程语言 时间:
2020-02-19 14:54:42
阅读次数:
94
《Java 开发手册》(以下简称《手册》)是每个 Java 工程师人手必备的一本参考指南。该手册包括 编程规约、异常日志、单元测试、安全规约、MySQL 数据库、工程结构、设计规约 7 个部分 ,涵盖了 Java 开发的常见知识点。认真实践该《手册》能够帮助 Java 开发者养成好的编程习惯,帮助企 ...
分类:
编程语言 时间:
2020-02-02 21:26:09
阅读次数:
88
阿里巴巴的《Java 开发手册》,其配套的代码规范插件: https://github.com/alibaba/p3c Alibaba 代码规范插件比较关心的是编码风格上的规范,比如说 long 变量的赋值、条件语句后的大括号、重写的时候有没有使用 @Override 注解等 SonarLint 是 ...
分类:
其他好文 时间:
2020-01-11 18:42:46
阅读次数:
74
很多人都知道,阿里巴巴在2017发布了《阿里巴巴Java开发手册》,前后推出了很多个版本,并在后续推出了与之配套的IDEA插件和书籍。 相信很多Java开发都或多或少看过这份手册,这份手册有7个章节,覆盖了编程规约、异常日志、单元测试、安全规约、MySQL数据库、工程结构以及设计规约等方面。 这份规 ...
分类:
编程语言 时间:
2019-12-16 22:52:27
阅读次数:
160
前言 "上文" 我们介绍了JDK中的线程池框架 。我们知道,只要需要创建线程的情况下,即使是在单线程模式下,我们也要尽量使用 。即: 但是,在 "《阿里巴巴Java开发手册》" 中有一条 【强制】线程池不允许使用 Executors 去创建,而是通过 ThreadPoolExecutor 的方式,这 ...
分类:
编程语言 时间:
2019-12-03 23:33:33
阅读次数:
117
在阅读《阿里巴巴Java开发手册》时,发现有一条关于在 foreach 循环里进行元素的 remove/add 操作的规约,具体内容如下: 错误演示 我们首先在 IDEA 中编写一个在 foreach 循环里进行 remove 操作的代码: 此时执行代码,编译正确,执行成功!输出 [wupx, hu ...
分类:
编程语言 时间:
2019-12-03 01:23:34
阅读次数:
108
UML建模 强制 在需求分析阶段,如果与系统交互的User超过一类并且相关的User Case超过5个,使用 用例图 来表达更加清晰的结构化需求。 如果某个业务对象的状态超过3个,使用 状态图 来表达并且明确状态变化的各个触发条件。 说明:状态图的核心是对象状态,首先明确对象有多少种状态,然后明确两 ...
分类:
编程语言 时间:
2019-11-27 12:15:12
阅读次数:
117
强制 好的单元测试必须遵守AIR原则。 说明:单元测试在线上运行时,感觉像空气(AIR)一样并不存在,但在测试质量的保障上,却是非常关键的。好的单元测试宏观上来说,具有自动化、独立性、可重复执行的特点。 A:Automatic( 自动化 ) I:Independent( 独立性 ) R:Repeat ...
分类:
编程语言 时间:
2019-11-26 17:50:49
阅读次数:
402
二哥,我今年大二,看你分享的《阿里巴巴 Java 开发手册》上有一段内容说:“循环体内,拼接字符串最好使用 StringBuilder 的 append 方法,而不是 + 号操作符。”到底为什么啊,我平常一直就用的‘+’号操作符啊!二哥有空的时候能否写一篇文章分析一下呢? 就在昨天,一位叫小菜的读者 ...
分类:
编程语言 时间:
2019-11-14 09:57:53
阅读次数:
75