假设我有一个Java类,其中包含价值100K的方法代码,但不包含任何变量,只有20个字节的属性。
我从这个类实例化了1000个对象。
我消耗了100,000K的内存吗?还是仅仅100K +(20字节* 1000)?或者完全是其他东西?
我从这个类实例化了1000个对象。
我消耗了100,000K的内存吗?还是仅仅100K +(20字节* 1000)?或者完全是其他东西?
加载类本身的内存占用大致对应代码大小,但该代码不会为每个类实例复制。每个实例只需要与实例属性相关的内存,再加上管理对象实例本身的一些开销。
尝试使用JDK中的jvisualvm进行附加,并告诉我们您看到了什么。