《编写高质量代码:改善Java程序的151个建议》笔记

To fight the unthinkable,you have to be willing to do the unthinkable.
 
不要在循环中使用try catch,应该放在循环的外面。

One Line

务必让常量的值在运行期间保持不变。
 
保证三元操作符中的两个操作类型一致。
 
反序列化时构造方法不会执行。
 
在序列化类中,不使用构造方法为final变量赋值。
 
避免为final变量复杂赋值。
 
发布应用系统时,禁止使用类文件替换方式,整体WAR包发布才是万全之策。
 
包装类型参与运算时,要做Null值校验。
 
通过包装类的valueOf 生成包装实例可以显著提高空间和时间性能。
 
优先使用基本类型
 
变量要先声明后使用
 
不要覆写静态方法
 
多重继承可以用内部类来实现。
 
equals 应该考虑Null值情景
 
Apache commons.jar ToStringBuilder类
 
推荐使用String直接量赋值
 
如果排序不是一个关键算法,使用Collator 类即可。
 
警惕数组的浅拷贝
 
在明确的情况下,为集合指定初始容量。
 
原始类型数纽不能作为asList 的输入参数,否则会引起程序逻辑混乱。
 
频繁插入和删除时使用LinkedList
 
TreeSet 适用于不变量的集合数据排序,比如String 、Integer等类型,但不适用于可变量的排序,特别是不确定何时元素会发生变化的数据集合。
 
线程优先级只使用三个等级。
 
Google Guava
 
Joda
 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。