1

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

将它们分配给像我所做的那样的临时变量对我来说更有效workLimit,还是应该像我所做的那样使用 getter getCurrentWork()

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

3 回答 3

3

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

于 2013-05-23T19:40:46.617 回答
1

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

于 2013-05-23T19:38:57.873 回答
0

你本质上是少买了一个堆栈操作,这是一种微优化,因此几乎完全没用,除非你正在编写一个实时系统。

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

于 2013-05-23T19:38:46.367 回答