这里以每种方式执行10,100,1000,Integer.MAX_VALUE次所消耗的时间来做为比较的基础。
测试代码如下:
执行以上测试,测试结果如下图
从以上三次测试结果可以看出:
1.try-finally语句与无try语句的效率要优于try-catch语句;
2.try-finally语句效率要略优于try语句,但是优势不是特别明显.
所以,如果在退出执行程序时(无论是以正常结束的方式,还是以异常抛出的方式退出),需要保证程序中使用的资源(文件或线程等)终止,而且又想降低try-catch对程序效率的影响的话,try-finally是一个不错的选择.但是还是建议在尽可能的情况下不要使用try语句或尽可能缩小try语句的作用范围.