【问题标题】:Do Java static properties affect performance?Java 静态属性会影响性能吗?
【发布时间】:2013-07-18 11:47:49
【问题描述】:

我的问题是创建具有静态成员的对象的多个实例是否会影响性能。每次实例化类时是否为每个静态变量分配了新内存?

另外,我想知道导入类对性能的总体影响。例如,仅仅为了引用其中一个变量而导入整个类是不是一个坏主意?还是没关系?

我正在开发一款游戏,所以我担心优化

【问题讨论】:

  • import 语句对程序的性能根本没有任何影响。它们只是编译时的东西;如果您导入一个类或将其与完全限定的类名一起使用,您的字节码不会有所不同。
  • 让您的程序正常运行。然后看性能。很多问题都是premature optimization引起的。

标签: java optimization import static


【解决方案1】:

静态字段属于类,而不属于类的实例。所以创建一个实例不会为静态成员分配任何东西。它们只是保持当前值。

导入在运行时不存在。它们仅用于允许您在源代码中编写 List 而不是 java.util.List。如果只使用限定类名并删除所有导入,编译器生成的字节码将完全相同。

【讨论】:

  • 非常感谢,正是我要找的东西
【解决方案2】:

是的,静态成员可以节省内存,因为每个类 Static members memory efficiency 只有一个数据副本。

同样使用 import-statement 并不能真正导入一个类。它只为您提供访问课程的快捷方式。导入类时,您不必将类的完全限定名称与它的所有包名称一起编写。因此,例如,您可以在通过import java.util.List; 导入类之后写List,而不是写java.util.List

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-29
    • 2012-02-04
    • 2011-01-28
    • 1970-01-01
    • 1970-01-01
    • 2011-07-07
    • 2011-02-17
    相关资源
    最近更新 更多