您的位置:首页 > Web前端

Effective Java学习笔记 第64条:努力使失败保持原子性

2016-09-17 20:00 204 查看

失败原子性(failure atomic)

失败的方法调用应该使对象保持在被调用之前的状态。

错误通常是不可恢复的,当方法抛出错误时,不需要保持原子性。

作为方法规范的一部分,方法产生的任何异常都应该让对象保持在该方法调用之前的状态。如果违反这条规则,API文档就应该清楚地指明对象将会处于什么样的状态。

失败原子性实现方法

对象为不可变对象

在执行操作之前检查参数的有效性。在对象状态被修改之前,先抛出异常

调整计算处理的过程,使得任何可能会失败的计算部分都在对象状态被修改之前发生

编写恢复代码,由其拦截操作过程中发生的失败,以及使对象回滚到操作开始之前的状态上

在对象的一份临时拷贝上执行操作,操作完成后,在使用临时拷贝的的结果代替对象的内容
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java
相关文章推荐