是否为Java中的未使用字段分配了内存?

时间:2011-03-20 17:56:11

标签: java memory

我想知道Java中的内存分配是如何工作的。

我有class Duck个实例变量int sizeString name。这些变量已初始化。如果我没有实例化这个类,那么这些变量的内存是否在运行时在堆上分配?

谢谢, 基因

2 个答案:

答案 0 :(得分:7)

几种可能的情况:

  • 如果你没有上课,那么 类本身没有加载到 完全是类加载器。

  • 如果您正在使用课程,但不是 实例化它,然后实例 变量没有占用内存,因为没有实例可以开始。

  • 如果您正在使用课程,并且正在使用 作为其实例的对象 class,然后是实例变量 为每个实例使用内存, 无论你是否使用这些 价值与否。

答案 1 :(得分:6)

如果您没有引用类Duck,那么甚至没有通过类加载器加载类,所以答案是否定的。