影响Java性能的try catch!!!你弄懂了吗

Posted Java架构没有996

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了影响Java性能的try catch!!!你弄懂了吗相关的知识,希望对你有一定的参考价值。

不问是不是,就问为什么。这个问题看来需要从头说起。

try catch机制非常好。那些觉得try catch不行的人,是他们自己的水平有问题,无法理解这种机制。并且这群人写代码不遵守规则,喜欢偷懒,这才造成try catch不好的错觉。【获取资料】

实验

首先,我们看看没有try-catch情况下,进行100万次加法的耗时:

long start = system.nanoTime();
int a = 0;
for (int i = o;i< 1000000;i++;){
		a++;
}
   System.out.println(system.nanoTime() - start);

经过5次统计,其平均耗时为:1816048纳秒,即1.8毫秒。

接着,我们来看看在有try-catch情况下,进行100万次加法的耗时:

long start = system.nanoTime();
int a = 0;
for (int i = o;i< 1000000;i++;){
	try{
      	a++}catch (Exception e){
      e.printStackTrace();
      }
   }
   System.out.println(system.nanoTime() - start);

经过5次统计,其平均耗时为:1928394纳秒,即1.9毫秒。

我们再来看看,如果try-catch抛出异常,进行100万次加法的耗时:

long start = system.nanoTime();
int a = 0;
for (int i = o;i< 1000000;i++;){
	try{
      	a++;
      	throw new Exception();
      	}eatch (Exception e){
      	e.printStackTrace();
     }
     }
System.out.println(system.nanoTime() - start);

经过5次统计,其平均耗时为:780950471纳秒,即780毫秒。

经过上面三次统计,我们可以看到在没有try catch时,耗时1.8毫秒。在有try catch 但是没有抛出异常,耗时1.9毫秒。在有抛出异常,耗时780毫秒。我们能得出一个结论:如果try catch没有抛出异常,那么其对性能几乎没有影响。但如果抛出异常,那对程序将造成几百倍的性能影响。

结论

虽然在没有抛出异常时,try catch几乎没有性能影响。但是一旦抛出异常,那么其对性能的影响将是巨大的。因此我们在实际编程的时候,需要特别注意try catch语句的使用,不在没有必要的地方过多使用。

最后,祝大家早日学有所成,拿到满意offer,快速升职加薪,走上人生巅峰。

可以的话请给我一个三连支持一下我哟???【获取资料】

以上是关于影响Java性能的try catch!!!你弄懂了吗的主要内容,如果未能解决你的问题,请参考以下文章

Java 使用 try catch 会影响性能?

try - catch 语句真的会影响性能吗?

try - catch 语句真的会影响性能吗?

支付宝二面:使用 try-catch 捕获异常会影响性能吗?

支付宝二面:使用 try-catch 捕获异常会影响性能吗?大部分人都会答错!

支付宝二面:使用 try-catch 捕获异常会影响性能吗?大部分人都会答错!