继承时的类同义词:性能?

问题描述 投票:0回答:1

我有一个长名的类,例如DatabaseHelper。现在我想简称这个名字。

1)我可以重命名该类,然后我将拥有我想要的。

2)我可以创建一个synoym类:class Db extends DatabaseHelper:这里的身体将是空的。

这里的质量标准的原因,编码风格的问题

class DatabaseHelper
{
  //some methods
}

和现在的同义词类

class Db extends DatabaseHelper
{
  //empty body
}

所以我的问题是:如果我像2那样做,我会遇到性能问题,还是在绩效维度上等于1)等于2)?

java performance optimization
1个回答
0
投票

在某些地方性能可能会变差,因为类层次分析将看到有两个可能的类并放弃。还有其他优化,所有内容都太复杂了,但是如果您想了解它,请阅读此lengthy explanation。如果不是,请阅读其中的一部分,以了解它会变得多么复杂。

考虑到您正在处理数据库,即以毫秒为单位的某个地方的操作,您将无法测量纳秒级的某个地方的性能损失。所以算了。

请注意,DatabaseHelper绝不是长名。它很短而且很无益(可能会更清楚)。请注意,对于DbDatabase可能是一个很好的快捷方式,但对于DatabaseHelper,则不是。 DbH不能做到(每个人都可以猜测,“ Db”是什么意思,但有了“ DbH”,几乎没有人可以;反正不需要猜测的名称会更好)。

[请注意,Java中没有类型同义词并且不能。通过子类化,您将获得一个只能在一个方向上互操作的新类。 所以不要这样做!

还要注意,Java的性能比预期的要复杂得多。选择好的算法和数据结构很重要,但是大多数细节都无关紧要(此站点充满了诸如“ A比B快”的问题,而典型的正确答案是“算了”)。

© www.soinside.com 2019 - 2024. All rights reserved.