《架构之美》中关于编写高效Java的几个技巧

来源:互联网 发布:ios编程 编辑:程序博客网 时间:2024/05/05 08:33

《架构之美》中提到关于Java性能技巧:
1.优化的第一准则:不要优化。优化的第二准则(仅限于专家),还是不要优化。——Michael A Jackson
和所有的性能技巧一样,下面的技巧是指导方针,不是准则。良好设计和清晰编码的代码几乎总是优于“优化的”代码。
技巧1.创建对象不好。过多的对象尤其是短期对象会导致不好的性能,因为大量对象创建引起频繁的年轻带垃圾收集。
技巧2.静态方法,不会动态分配,更容易产生内联。
技巧3.标签集适度紧凑的switch语句比分散的要快:switch使用两种字节码:tableswitch和lookupswitch,后者慢得多。
技巧4.方法越小越好,从设计(内聚性)和JIT两方面考虑都是好的。
技巧5.Exception应该用于异常情况,而不是错误,VM会优化正常的路径。
技巧6.小心使用装饰器模式.额外间接开销大。
技巧7.对类进行instanceof操作比接口的数组搜索快。
技巧8.最低程度的使用同步,把同步的块减到最小,尽量使用volatile和原子引用。这和设计的思想一致。
技巧9.小心外部库,简单而重要的任务认真考虑内置编码实现。

 

 

回顾07年关于高效率Java的文章,因为JDK的发展从1.4到1.6,jvm的内部优化有了很多改进和变化,所以有些惯例已经不适用了,有些则可能反而导致性能不升反降。

建议参考《高质量JAVA程序设计》