45. 将局部变量的作用域最小化
在第一次使用它的地方声明
46. for-each循环优于传统的for循环
性能更好;
避免使用iterator时候产生的一些迭代问题
以下情况无法使用for-each
- 过滤:需要在遍历时删除元素
- 转换
- 平行迭代
47. 了解和使用类库
避免重复造轮子
48. 需要精确的答案,避免使用float和double
货币计算可以使用BigDecimal、int和long
49. 基本类型优于装箱基本类型
避免对象的NullPointerException方法,同时性能也会好点
50. 如果其他类型更适合,则避免使用字符串
例如值类型(用基本类型)、枚举类型(用枚举)
51. 当心字符串连接的性能
如果频繁拼接,请使用StringBuffer(线程安全)或者StringBuilder
52. 通过接口引用对象
如果养成用接口作为类型的习惯,程序会更加灵活
53. 接口优先于反射机制
反射有几个问题:
- 丧失了编译时类型检查的好处
- 执行反射访问锁需要的代码非常笨拙和荣昌
- 性能损失
反射仅仅用在实例化对象还是比较安全的
54. 谨慎使用本地方法
一般情况下还是别用为好
55. 谨慎地进行优化
避免过度优化