《Effective Java》第9章 异常】的更多相关文章

EFFECTIVE  JAVA  第十一章  系列化(将一个对象编码成一个字节流) 74.谨慎地实现Serializable接口 *实现Serializable接口付出的代价就是大大降低了“改变这个类的实现”的灵活性. *增加了出现Bug和安全漏洞的可能性.反系列化是一个“隐藏的构造器”,很难确保“由真正的构造器建立起来的关系” *增加了测试的负担 *transient关键字修饰的变量不会被初始化 *可以实现Externalizable接口来实现基于默认构造器的显示配置系列化  75.考虑使用自…
背景 去年就把这本javaer必读书--effective java中文版第二版 读完了,第一遍感觉比较肤浅,今年打算开始第二遍,顺便做一下笔记,后续会持续更新. 1.考虑用静态工厂方法替代构造器 优点 静态工厂方法与构造器不同的第一大优势在于,他们有名称,比多个通过不同参数的构造器更具有辨识度. 静态工厂方法与构造器不同的第二大优势在于,不必在每次调用他们的时候都创建一个新对象. 静态工厂方法与构造器不同的第三大优势在于,他可以返回原返回类型的任何子类型的对象 服务提供者框架. ```java…
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将追究法律责任!原文链接:http://www.cnblogs.com/jiangzhengjun/p/4255663.html 第六章      枚举和注解 30.      用enum代替int常量 枚举类型是指由一组固定的常量组成合法值的类型,例如一年中的季节或一副牌中的花色.在没引入枚举时,一…
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将追究法律责任!原文链接:http://www.cnblogs.com/jiangzhengjun/p/4255671.html 第七章      方法 38.      检查参数的有效性 绝大多数方法和构造器对于传递给它们的参数值都会有某些限制.例如,索引值必须是非负的,对象引用不能为null等,这…
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将追究法律责任!原文链接:http://www.cnblogs.com/jiangzhengjun/p/4255654.html 第五章      泛型 23.      请不要在新代码中使用原生态类型 声明中具有一个或者多个类型参数的类或者接口,就是泛型类或者泛型接口.泛型类和接口统称为泛型. 每种…
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将追究法律责任!原文链接:http://www.cnblogs.com/jiangzhengjun/p/4255581.html 第三章      对所有对象都通用的方法 8.            覆盖equals时请遵守通用约定 如果类具有自己特定的"逻辑相等"概念(不同于对象等同概念)…
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将追究法律责任!原文链接:http://www.cnblogs.com/jiangzhengjun/p/4255624.html 第四章      类和接口 13.      使类和成员的可访问性最小化 要区别设计良好的模块与设计不好的模块,最后重要的因素在于,这个模块对于外部的其他模块而言,是否隐藏…
异常: 程序运行一旦出现异常程序就会立刻结束不在向下运行 处理异常:在程序执行代码时,万一发生了异常,程序会按照处理的方法对一场进行处理办法,程序将继续执行 try-catch-finally-throws try代码中存放执行的代码,catch代码块存放异常信息(具体不变的) 列 catch(Exception e){e.printStackTrace():System.out.print(“出现错误”)} finally代码中一般放结束语句   列 finally{System.out.pr…
这篇博文主要介绍覆盖Object中的方法要注意的事项以及Comparable.compareTo()方法. 一.谨慎覆盖equals()方法 其实平时很少要用到覆盖equals方法的情况,没有什么特殊情况最好是使用原有提供的equlas方法.因为覆盖equals()方法时要遵循一些通用的约定之外,在与hash相关的集合类使用时,就必须要覆盖hashCode()方法了(第二点会强调). 我们先说说覆盖equlas()方法要遵循哪些通用约定: 1.自反性:对于任何非null的引用值x, x.equa…
67.  明智审慎地进行优化 有三条优化的格言是每个人都应该知道的: (1)比起其他任何单一的原因(包括盲目的愚钝),很多计算上的过失都被归咎于效率(不一定能实现) (2)不要去计算效率上的一些小小的得失,在97%的情况下,不成熟的优化才是一切问题的根源. (3)在优化方面,我们要遵守两条规则: 规则一:不要进行优化 规则二(仅针对专家):还是不要进行优化,也就是说,在你还没有绝对清晰的优化方案之前,请不要进行优化. 努力编写好的程序,而不是快的程序:速度自然会提高.但是在设计系统时一定要考虑性…