【发布时间】:2012-08-08 08:36:34
【问题描述】:
每当我编写一个新类时,我都会使用大量的类变量来描述类的属性,直到当我回过头来查看我输入的代码时,我会看到 40 到 50 多个类变量,无论它们是公共的、受保护的还是私有的,它们在我定义的所有类中都被显着地使用。
尽管类变量主要由原始变量组成,如布尔值、整数、双精度值等,但我仍然有一种不安的感觉,即我的一些具有大量类变量的类可能会对性能产生影响,不管它们多么微不足道。
但是尽可能合理,如果我考虑无限的 RAM 大小和无限的 Java 类变量,Java 类可能是 RAM 中无限大的内存块,该块的第一部分包含类变量分区,并且该块的其余部分包含 Java 类中类方法的地址。有了这么多的 RAM,它的性能就很不一般了。
但上面的内容并没有让我的感受比说的更容易。如果我们考虑有限的 RAM 但无限的 Java 类变量,结果会是什么?在性能很重要的环境中真正会发生什么?
而且可能会事先提到,我不知道有很多类变量是否算作不好的 Java 实践,当所有这些变量都很重要并且所有类都已重构时。
提前致谢。
【问题讨论】:
-
尽可能减少类变量。只是改变你的设计模式可能会有所帮助。
-
它们是类变量还是常量(即
static final)。你能不能举一个“有用的类变量”的例子,因为我觉得很难想象我们在这里谈论什么样的场景。 -
这是数量惊人的变量。如果有的话,这应该极少是必要的。如果您发现自己更频繁地使用它,那么您的设计需要改进。
标签: java performance class variables