声明/初始化和内存分配

时间:2014-07-08 19:14:06

标签: java memory

短:何时分配内存 - 在声明或初始化时?

长: int x;会占用与int z = 10;相同的内存。

此外,对于包含更多数据的自定义对象,这将如何工作。 让我们说我有这个对象:

public class Factor
{
    private String name;
    private int value;
    private int time;
    private double x;
    private double y;
    private double z;
    private double h;

    public Factor(String name, int value, int time)
    {
        this.name = name;
        this.value = value;
        this.time = time;
    }
}

然后我用以下内容初始化它:

 Factor f = new Factor("Name", 10, 10);

x,y,z,h (双打)是否曾记忆? ANY?

这可能是一个愚蠢的问题,但只是谷歌搜索从来没有给我答案,我真的需要这来优化我的大型阵列中使用的多构造函数对象。

2 个答案:

答案 0 :(得分:1)

  

x,y,z,h(双打)是否记忆? ANY?

他们会使用0.0d初始化{{1}}

然而,这不是优化记忆的关键点

答案 1 :(得分:0)

据我了解,声明会说出变量的名称和类型。

调用构造函数时会发生分配和初始化。

当然双打占用内存:每双8个字节。它是64位IEEE浮点数。

如果您没有提供初始值,则设置为0.0。

http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html

您的因素对象很有趣。名称可以为null还是空白?如果没有,您应该防止在构造函数中将其设置为null或空白。

时间可以消极吗?它通常是我物理学中的连续变量。什么是单位 - 秒,四夜?