学习阿里巴巴开发手册-补充

1.获取单例对象需要保证线程安全,其中的方法也要保证线程安全。
2.创建线程或线程池时 请指定有意义的线程名称。
3.线程资源必须通过线程池提供,不允许在应用中自行显示创建线程。
4.线程池不允许使用Executors去创建,而是通过ThreadPoolExecutor的方式
5.SimpleDateFormat是线程不安全的类,一般不要定义为static变量,如果是,必须添加锁,或者使用DateUtils工具类
6.高并发时,同步调用应该去考量锁的性能损耗,能用无锁数据结构就不用锁,能用锁区块,就不要锁整个方法体,能用对象锁就不要用类锁
7.多个资源、数据库表,对象同时加锁时,需要保持一致的加锁顺序
8.并发修改同一记录时,避免更新丢失,需要加锁,要么在应用层加锁,要么在缓存加锁,要么在数据库层使用锁,使用version作为更新数据依据
  如果每次访问冲突概率小于20%,推荐使用乐观锁,乐观锁重试次数不得小于3次,否则使用悲观锁。
9.多线程并行处理定时任务时,Timer运行多个TimeTask时,只要其中之一没有捕获抛出异常,其他任务便会自动终止运动、使用ScheduledExecutorService则没有这个问题

10.未完

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值