前兩天測(cè)試代碼嗦锐,測(cè)試人員告訴我嫌松,以下的代碼2寫法不規(guī)范
//代碼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) {
}
}
按照測(cè)試人員的說法,這里的代碼1是對(duì)的奕污,代碼2不對(duì)萎羔,當(dāng)時(shí)就蒙了,不過還好這個(gè)是低風(fēng)險(xiǎn)碳默,趕緊分析原因贾陷,使用字節(jié)碼查看結(jié)果對(duì)比:
從這個(gè)圖中可以明顯的看出在第三行上,如果是Null嘱根,代碼1就直接到14行返回了髓废,而代碼2還需要到第10行,才能轉(zhuǎn)到14行返回该抒,里外差1次調(diào)用慌洪,可以分析中代碼1的效率要比代碼2的效率高。