Day15 Java代码避坑指南
理论
T31系统工程结构梳理
日期时间编写规范
高并发下的控制语句设计
基于OOP设计原则落地时间
产出
项目系统架构图
项目编码规范笔记
精确的小数存储-decimal
MySQL: decimal(M,D)
- M:指定小数点左边和右边可以存储的十进制数字的最大个数,MySQL中范围可以为【1~65】
- D:
浮点数据必坑(一)
浮点数之间的等值判断,基本数据类型不能 == 比较, 包装数据类型不能用 equals 来判断
日期格式化需要注意的问题
小写的 y
日期格式化的时候,传入 pattern 中表示年份统一使用小写的 y。
小写yyyy:表示当天所在的年、
大写YYYY:表示是 week in which year (JDK7之后引入的概念)
1999-12-27
大小写的M m 和 H h
- 表示月份是大写的M
- 表示分钟则是小写的m
- 24小时制的则是大写的H
- 12小时制的则是小写的h
获取当前毫秒数
用System.currentTimeMillis();而不是new Date().getTime()
如果想要获取更加精确的纳秒级别时间值,使用System.nanoTime()
JDK8中,针对统计时间等场景,建议使用Instant类
控制语句之 switch
- 每个case要么通过 continue/break/return 等来终止
- 要么注释说明程序将继续执行到哪一个 case 为止
- 在一个 switch 块内,都必须包含一个 default 语句并且放在最后
需要参数校验的场合
- 调用频次低的方法
- 执行时间开销很大的方法。此情形中,参数校验时间几乎可以忽略不计,但如果因为参数错误导致中间执行回退
不需要参数校验的场合
极有可能北循环调用的方法
在方法中
底层调用频度较高的方法
被声明成private
OOP设计
面向对象编程(Object-Oriented Programming,OOP)
抽象、封装、继承、多态的理念使软件大规模化成为可能,有效的降低了软件开发成本、维护成本、复用成本。OOP思想使大型软件的开发就像搭积木意义隔离可控、高效简单,是当今编程领域的