我的问题是,使具有静态成员的对象的多个实例是否会影响性能。每次实例化类时,是否为每个静态变量分配了新的内存?
另外,我想知道导入类对性能有何影响。例如,导入整个类只是为了引用它的一个变量是一个坏主意吗?或者没关系?
我正在开发游戏,这就是为什么我担心优化
答案 0 :(得分:1)
静态字段属于该类,而不属于该类的实例。因此,创建实例不会为静态成员分配任何内容。他们只是保持现在的价值。
运行时不存在导入。它们仅用于允许您在源代码中编写List而不是java.util.List。如果您只使用了限定类名并删除了所有导入,则编译器生成的字节码将完全相同。
答案 1 :(得分:0)
是的,静态成员可以节省内存,因为每个类Static members memory efficiency只有一个数据副本。
同样使用import-statement并不真正导入类。它只为您提供了访问该类的快捷方式。导入类时,您不必使用其所有包名写入类的完全限定名称。因此,例如,在java.util.List
导入类之后,您可以只编写List
而不是编写import java.util.List;
。