Effective Java学习笔记 第64条:努力使失败保持原子性
2016-09-17 20:00
204 查看
失败原子性(failure atomic)
失败的方法调用应该使对象保持在被调用之前的状态。错误通常是不可恢复的,当方法抛出错误时,不需要保持原子性。
作为方法规范的一部分,方法产生的任何异常都应该让对象保持在该方法调用之前的状态。如果违反这条规则,API文档就应该清楚地指明对象将会处于什么样的状态。
失败原子性实现方法
对象为不可变对象在执行操作之前检查参数的有效性。在对象状态被修改之前,先抛出异常
调整计算处理的过程,使得任何可能会失败的计算部分都在对象状态被修改之前发生
编写恢复代码,由其拦截操作过程中发生的失败,以及使对象回滚到操作开始之前的状态上
在对象的一份临时拷贝上执行操作,操作完成后,在使用临时拷贝的的结果代替对象的内容
相关文章推荐
- 2015070505 - EffactiveJava笔记 - 第64条 努力保持失败原子性
- Item46 努力使失败保持原子性
- 努力使失败保持原子性
- Effective Java 学习笔记(第64条:努力使失败保持元子性)
- 第六十四条:努力使失败保持原子性
- C#中一个保持事务原子性的方法,插入数据失败回滚
- 2007努力学习,天天保持最优状态!!
- 面对失败与困境保持更强的韧性
- MIUI v5 UI设计七宗罪:去Android努力注定失败
- 失败之后,是放荡还是再一次努力?
- 保持初心不变!~ 致那些一直在分享,在学习,在努力的开发者们!
- 用什么方法可以在业务批量操作的时候保持原子性?例如删除多条文章,但是在中 间有一条被删除了,假设出现了错误,如何让整个操作回滚,并定位错误信息?
- 最可贵的努力,是保持正确的姿势
- 努力了就没有失败
- (转)失败和拒绝,也是一种肯定 找工作时,我四处碰壁这一段经历对自己职业生涯的帮助最大。为什么? "因为这些挫折让我的脸皮变厚了 如果你不是每天被人拒绝,那就说明你的人生目标不够远大 所谓成功,就是不停地经历失败,并且始终保持热情
- 保持初心不变是多么的艰难--致那些一直在分享,在学习,在努力的开发者们
- 保持初心不变是多么的艰难--致那些一直在分享,在学习,在努力的开发者们
- 失败.调整.努力.开始.目标
- 努力,虽然不一定会成功,放弃,就一定会失败!
- 现在开始(译) 明确的知道你想要什麽是关键 每次 只做一件事的习惯 成功的人是因为屡次尝试经历失败保持激情 动手一试