美文网首页
20170718-两段代码的异同

20170718-两段代码的异同

作者: 北风一叶 | 来源:发表于2017-07-18 09:22 被阅读5次

前两天测试代码,测试人员告诉我,以下的代码2写法不规范

//代码1
public static void main(String[] args) {
        InputStream ins=null;
        if(ins!=null){
            try{
                ins.close();
            }catch(Exception ex) {
            }
        }
    }
//代码2
public static void main(String[] args) {
        InputStream ins=null;
        try{
            if(ins!=null){
                ins.close();
            }
        }catch(Exception ex) {
        }
    }

按照测试人员的说法,这里的代码1是对的,代码2不对,当时就蒙了,不过还好这个是低风险,赶紧分析原因,使用字节码查看结果对比:

代码异同.png

从这个图中可以明显的看出在第三行上,如果是Null,代码1就直接到14行返回了,而代码2还需要到第10行,才能转到14行返回,里外差1次调用,可以分析中代码1的效率要比代码2的效率高。

相关文章

网友评论

      本文标题:20170718-两段代码的异同

      本文链接:https://www.haomeiwen.com/subject/ndeckxtx.html