【读书笔记】阿里巴巴开发手册,持续更新...

POJO 类中布尔类型的变量,都不要加 is 前缀 ,否则部分框架解析会引起序列化错误。

反例:定义为基本数据类型 Boolean isDeleted; 的属性,它的方法也是 isDeleted() , RPC
阿里巴巴 Java 开发手册
2/36
框架在反向解析的时候,“误以为”对应的属性名称是 deleted ,导致属性获取不到,进而抛
出异常。

枚举类名建议带上 Enum 后缀,枚举成员名称需要全大写,单词间用下划线隔开。

说明:枚举其实就是特殊的常量类,且构造方法被默认强制是私有。
正例:枚举名字为 ProcessStatusEnum 的 成员名称: SUCCESS / UNKNOWN _ REASON 。

不允许任何魔法值 ( 即未经预先定义的常量 ) 直接出现在代码中。

反例: String key = " Id # taobao _" + tradeId;
cache . put(key , value);

注释的双斜线与注释内容之间有且仅有一个空格。

正例:

// 这是示例注释,请注意在双斜线之后有一个空格
String ygb = new String();

创建线程或线程池时请指定有意义的线程名称,方便出错时回溯。

正例:

public class TimerTaskThread extends Thread {
public TimerTaskThread() {
super.setName("TimerTaskThread");
...
}

使用 CountDownLatch 进行异步转同步操作

使用 CountDownLatch 进行异步转同步操作,每个线程退出前必须调用 countDown
方法,线程执行代码注意 catch 异常,确保 countDown 方法被执行到,避免主线程无法执行
至 await 方法,直到超时才返回结果。

说明:注意,子线程抛出异常堆栈,不能在主线程 try - catch 到。

在高并发场景中,避免使用”等于”判断作为中断或退出的条件

说明:如果并发控制没有处理好,容易产生等值判断被“击穿”的情况,使用大于或小于的区间
判断条件来代替。

反例:判断剩余奖品数量等于 0 时,终止发放奖品,但因为并发处理错误导致奖品数量瞬间变
成了负数,这样的话,活动无法终止。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值