首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >java:类成员的内存是如何分配的?

java:类成员的内存是如何分配的?
EN

Stack Overflow用户
提问于 2010-11-11 22:17:00
回答 5查看 180关注 0票数 0

我们有一个大的类,有68个int,22个双成员,还有4个成员作为类。e.g

代码语言:javascript
运行
复制
Class A{

   public int i1

   public int i2

   public int i3

   ....

   public Order order1


   public Order order2

   ...

   public double..

}

1: i1、i2、i3的内存是物理连续的吗?

2:对于A类,它是存储指向order1 & order 2的指针,还是存储order 1& order 2的内容?

还有另一个类B,它有一个成员作为A的数组,有365个A。所以B的内存可能非常大。我担心的是,如果B的大小太大,我们可能会丢失很多二级缓存,从而降低性能。我们主要对i1的值求和,对i2的值求和,并对i3的值求和等。例如,如果对所有365 A的i1求和,那么所有365A的i1将不会持续驻留在内存中。因此,我们可能会命中某些缓存缺失,从而获得不好的性能。

我正在考虑使用类B,但删除类A,并将A中的所有元素移动到B,这样我们就可以获得

代码语言:javascript
运行
复制
Class B {

   public array_of_i1

   public array_of_i2
..

}

这样,当我计算i1或i2的总和时,所有的i1或i2都坐在一起,所以也许我们可以获得性能改进?

由于班级很大,我想在更改之前征求您的意见。

EN

Stack Overflow用户

发布于 2010-11-11 22:23:52

它存储指针。,,dependent.

  1. Yes,,,
    1. 。这些对象将驻留在其他位置。
票数 0
EN
查看全部 5 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4155263

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档