Eri*_*ric 2 java heap methods classloader
我知道生活在堆上的原始对象和对象,但是方法的数量如何影响对象的堆大小?
例如:
public class A {
int x;
public getX() { return x; }
}
public class B {
int x;
public getX() { return x; }
public getXString() { return String.valueOf(x); }
public doMoreInterestingStuff() { return x * 42; }
//etc
}
Run Code Online (Sandbox Code Playgroud)
实例化时,两个对象都在堆上,两者都有内存分配给它们的原语x,但由于有更多的方法签名,B分配了更多的堆空间?或者只是在permGen空间?在这个例子中它是微不足道的,但是当在任何给定时间内存在100,000多个这些对象时,我想它可能会加起来.
方法的数量如何影响对象的堆大小?
它没有.它对每个对象的大小没有影响,实际上它没有必要 - 它不像每个类型的对象有不同的方法.
显然,额外的方法占用内存"某处"(基本上与类相关),但它不是基于每个对象.
| 归档时间: |
|
| 查看次数: |
91 次 |
| 最近记录: |