首页 百科知识 将块移出循环

将块移出循环

时间:2023-09-22 百科知识 版权反馈
【摘要】:把try/catch块放入循环体内,会极大的影响性能,如果编译JIT被关闭或者你所使用的是一个不带JIT的JVM,性能会将下降21%之多!try { //violationPeter Haggar: "Practical Java -Programming Language Guide".

try/catch块放入循环体内,会极大的影响性能,如果编译JIT被关闭或者你所使用的是一个不带JITJVM,性能会将下降21%之多!

         

例子:        

import java.io.FileInputStream;

public class TRY {

   void method (FileInputStream fis) {

       for (int i = 0; i < size; i++) {

           try {                                      //violation

                _sum += fis.read();

            } catch (Exception e) {}

       }

    }

   private int _sum;

}

        

更正:        

try/catch块移出循环        

   void method (FileInputStream fis) {

       try {

           for (int i = 0; i < size; i++) {

                _sum += fis.read();

           }

       } catch (Exception e) {}

    }

        

参考资料:

Peter Haggar: "Practical Java -Programming Language Guide".

Addison Wesley, 2000, pp.81 – 83


免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈