没有双重开销。
Java将采用该类,超类,计算所有字段所需的空间,并为一个实例分配所需的空间。
仅从内存的角度来看,根本不存在超类的概念,有Foo的实例仅需要一个int的内存,而Bar的实例仅需要两个int的内存,其中一个是因为Bar恰好扩展了Foo。
因此,开销(或簿记或任何您想致电的费用)仅发生一次。
但是,在用Java开发时,通常最好不要过多地关心内存,除非您有非常特殊的(并且我是非常非常具体的)用例,在这些用例上,书本化开销会导致严重的问题。在这种情况下,还应考虑8字节填充。
通常,除了不必担心每个实例的内存开销之外,还有许多其他方法可以改善应用程序的内存占用量或整体性能。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)