java - 性能:递归调用方法与使用条件逻辑

标签 java performance

我用变量 x 调用一个方法,我做了一些检查,如果某些条件为真,我必须用不同的变量值执行同一方法的一部分。

什么更有效?

  1. 再次调用该方法(递归),或者
  2. 更改我的变量值并让程序执行方法的以下几行?

在这两种情况下我都可以让它工作,但更有效的方法是什么?

对于第二种情况,我在顶部使用了 if 语句。我读取了我想要的值,然后使用该值执行以下 if 语句。

public void mymethod(x){
    if (con){
        x = something;
    }
    if (con2){
        //do something
    } else if(con3) {
        //do something
    }
}

最佳答案

正如 Dave 所说,您可能根本不应该担心此类微优化。最好的办法是以最容易阅读和理解的方式编写代码。在我看来,最好的方法是将“做某事”部分移到一个单独的函数中,并将完成其工作所需的所有参数传递给它。

如果您真的想谈谈效率,请注意现代系统往往严重依赖缓存,因此过去曾经有效的许多性能方法实际上不再构成改进。相反,它们使事情变得更糟。

关于java - 性能:递归调用方法与使用条件逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8728326/

相关文章:

java - 复杂的正则表达式语句

java - 应用程序 :preDexDebug error sending mail using java mail 执行失败

javascript - Ext JS 类的最佳实践最终会产生过多的 .js 文件。性能怎么样?

python - 为什么 matplotlib 使用plot()画线时会变慢?

java - 为什么优化的素因子计数算法运行速度较慢

java - 插入数据,如果已经插入,则在 sql 中更新

java - 阻塞队列与生产者消费者模式的经典实现

java - 我们如何使用 Java 接口(interface)强制执行双向接口(interface)?

javascript - jQuery 在初始页面加载时重新加载 javascript 资源

java - BigInteger 方法 mod() 性能很差。对于大量的数据是否有更好的权衡?