使用getter或将它们分配给变量更有效吗?

时间:2013-05-23 19:36:11

标签: java optimization

在下面的场景中,所有3个getXxxxx()方法都返回该类的属性而无需额外处理。

我是否更有效率地将它们分配给临时变量,就像我使用workLimit一样,或者我应该像使用getCurrentWork()一样使用getter?

    int x = 0;
    int workLimit = entity.getCurrentWorkLimit();
    JobSet jobSet;
    JobSetQueue queue = workflowProcess.getQueue();
    while (x < workLimit && (jobSet = queue.poll()) != null) {
        getCurrentWork().addLast(jobSet);
    }

3 个答案:

答案 0 :(得分:3)

VM优化了对简单getter本身的访问 - 但实际上你通常不应该关心它。因此,我通常会优化代码的可读性/可维护性而不是性能。绩效优化应基于事实,而不是假设。

答案 1 :(得分:1)

假设getCurrentWork()只返回一个变量本身,那么性能将是相同的。我认为拥有额外的变量有时会使代码更容易阅读/扫描,特别是当你有很多时。在这种情况下,我可能只是使用吸气剂。

答案 2 :(得分:0)

除了编写实时系统之外,你实际上是在购买一个较少的堆栈操作,这是一个微优化,因此几乎完全没用。

在一天结束时,个人资料个人资料个人资料