它来了:阿里巴巴Java开发手册泰山版解读

栏目: IT技术 · 发布时间: 4年前

内容简介:END

《Java开发手册》是阿里巴巴集团技术团队的集体智慧结晶和经验总结,经历了多次大规模一线实战的检验及不断完善,公开到业界后,众多社区开发者踊跃参与,共同打磨完善,系统化地整理成册。

它来了:阿里巴巴 <a href='https://www.codercto.com/topics/22013.html'>Java</a> 开发手册泰山版解读

会当凌绝顶,一览众山小。经过一年的修炼,《Java开发手册》泰山版于4.22正式发布。此次泰山版发布,将带来三大亮点: 「新增5条日期时间规约」「新增2条表别名 sql 规约」「新增统一错误码规约」它来了:阿里巴巴Java开发手册泰山版解读

接下来,让笔者阿飞带你一起解读最新泰山版本新增的3项规约。

日期时间规约

如下图所示,新增的日期时间规约归属于第一部分: 「编程规约」它来了:阿里巴巴Java开发手册泰山版解读

这一段总计此次新增了7个规约条例,前五条全部是 「强制」 类型的:

  1. 日期格式化时,传入pattern中表示年份统一使用小写的y。 「解读」 :yyyy表示当天所在的年,而大写的YYYY代表是 week in which year。意思是当天所在的周所属的年份,一周从周日开始,周六结束,只要本周跨年,返回的YYYY就是下一年。

  2. 在日期格式中分清楚大写的 M 和小写的 m,大写的 H 和小写的 h 分别指代的意义。 「解读」 :大写M表示月份,小写m表示分钟。大写H表示24小时制,小写h表示12小时制。

  3. 获取当前毫秒数:System.currentTimeMillis(); 而不是 new Date().getTime()。 「解读」 :System.currentTimeMillis()是一个native方法,依赖操作系统,性能更好。而后者事实上是调用了前者获取时间然后封装一个Date对象!

  4. 不允许在程序任何地方中使用:1)java.sql.Date 2)java.sql.Time 3)java.sql.Timestamp。 「解读」 :第1个不记录时间,getHours()抛出异常;第2个不记录日期,getYear()抛出异常;第3个在构造方法 super((time/1000)*1000),fastTime和nanos分开存储秒和纳秒信息。

  5. 不要在程序中写死一年为 365 天,避免在公历闰年时出现日期转换错误或程序逻辑错误。

后两条是 「推荐」 类型的:

  1. 避免公历闰年2月问题。闰年的2月份有29天,一年后的那一天不可能是2月 29日。 「解读」 :打个比方,某个任务想一年运行一次,那么cron表达式不要写成:0 0 0 29 2 ?。而应该写成:0 0 0 28 2 ?。前一个表达式实际上是4年才执行一次,后一个表达式才是一年执行一次。

  2. 使用枚举值来指代月份。如果使用数字,注意 Date,Calendar 等日期相关类的月份 month 取值在 0-11 之间。 「解读」 :Calendar.JANUARY的值实际上就是0(Calendar中定义为:public final static int JANUARY = 0)。

2条表别名sql规约

此次泰山版新增了两条表别名sql规约。一条是强制的,一条是推荐的。

「强制」   对于数据库中表记录的查询和变更,只要涉及多个表,都需要在列名前加表的别名(或表名)进行限定。说明:对多表进行查询记录、更新记录、删除记录时,如果对操作列没有限定表的别名(或表名),并且操作列在多个表中存在时,就会抛异常,相信大家都碰到过Column 'xxxx' in field list is ambiguous这个异常提示吧。正例:select t1.name from table_first as t1 , table_second as t2 where t1.id=t2.id;

「建议」SQL语句中表的别名前加as,并且以 t1、t2、t3、...的顺序依次命名。说明:1)别名可以是表的简称,或者是根据表出现的顺序,以 t1、t2、t3 的方式命名。2)别名前加as使别名更容易识别。参考正例:select t1.name from table_first as t1, table_second as t2 where t1.id=t2.id。

统一错误码规约

如下图所示,新增的统一错误码规约是一个全新的部分,即附3。错误码定义对每一个系统的重要性不言而喻,可以说必不可少。良好的错误码定义能让API的结果变得更易懂,同时能大大提升排查问题效率,并且还可以针对每个异常码出现的次数做实时监控: 它来了:阿里巴巴Java开发手册泰山版解读

如下图所示,是截取的部分错误码。完整版请下载最新的Java开发手册泰山版,下载地址为https://developer.aliyun.com/topic/java2020: 它来了:阿里巴巴Java开发手册泰山版解读

END

如果读完觉得有收获的话,欢迎点【好看】,关注【阿飞的博客】,查阅更多精彩历史!!!

它来了:阿里巴巴Java开发手册泰山版解读


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

调试九法

调试九法

David J.Agans / 赵俐 / 人民邮电出版社 / 2010-12-7 / 35.00元

硬件缺陷和软件错误是“技术侦探”的劲敌,它们负隅顽抗,见缝插针。本书提出的九条简单实用的规则,适用于任何软件应用程序和硬件系统,可以帮助软硬件调试工程师检测任何bug,不管它们有多么狡猾和隐秘。 作者使用真实示例展示了如何应用简单有效的通用策略来排查各种各样的问题,例如芯片过热、由蛋酒引起的电路短路、触摸屏失真,等等。本书给出了真正能够隔离关键因素、运行测试序列和查找失败原因的技术。 ......一起来看看 《调试九法》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

URL 编码/解码
URL 编码/解码

URL 编码/解码