看以下两段代码:A
package net.betterjava.exception.flow;
public class NormalTest {
private static long tryOperand=0;
private static long finallyOperand=0;
public NormalTest(){
super();
}
private static void finallyIncrease(){
finallyOperand++;
}
private static void tryIncrease(){
tryOperand++;
}
public static void main(String[] args){
long t=System.currentTimeMillis();
for(int i=0;i<1000000000;i++){
tryIncrease();
finallyIncrease();
}
System.out.println(System.currentTimeMillis()-t);
}
}
下面一段代码,在上面代码的基础上,只加了异常代码。其他的一样。
B
package net.betterjava.exception.flow;
public class ExceptionalTest {
private static long tryOperand=0;
private static long finallyOperand=0;
public ExceptionalTest(){
super();
}
private static void finallyIncrease(){
finallyOperand++;
}
private static void tryIncrease(){
tryOperand++;
}
public static void main(String[] args){
long t=System.currentTimeMillis();
for(int i=0;i<1000000000;i++){
try{
tryIncrease();
}catch(Exception e){
}finally{
finallyIncrease();
}
}
System.out.println(System.currentTimeMillis()-t);
}
}
两段代码在jdk 1.60环境中测试时间是: A:4187ms B:4157ms