[英]Is memory allocated for unused fields in Java?
我想知道Java中的内存分配是如何工作的。
我有一个class Duck
有两个实例变量int size
和String name
。 这些变量已初始化。 如果我没有实例化这个类,那么这些变量的内存是否在运行时在堆上分配?
谢谢,基因
几种可能的情况:
如果您没有使用类,那么类本身根本不会加载到类加载器中。
如果您正在使用类,但没有实例化它,那么实例变量不占用内存,因为没有实例可以开始。
如果您正在使用类,并使用作为该类实例的对象,则实例变量会为每个实例使用内存,无论您是否使用这些值。
如果你没有引用类,所有类的Duck
甚至都没有通过类加载器加载,所以答案是否定的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.