【问题标题】:How many array objects will be created in javajava中将创建多少个数组对象
【发布时间】:2018-08-19 10:40:24
【问题描述】:

谁能帮我理解用下面的 sn-p 创建的对象的数量:

int[][] a= new int[4][3];  //with this line first.

其次,如果我重新初始化a

a = new int[3][7]; //finally with this line also.

另外,如果有任何工具可以检查我的完整应用程序中创建的对象数量,请告诉我。

【问题讨论】:

  • 如何检查?
  • you can use jmap 或其他一些IDE工具
  • @Henry 是的,跳过二维数组,谢谢

标签: java


【解决方案1】:

多维数组的数量将为数组 1 + 1 * 第一个子数组的大小 + 1 * 第一个子数组的大小 * 第二个子数组的大小等等...排除最后一个维度其中包含整数值

等:

a = int[4][3] // 1 + 1 * 4 = 5 arrays
b = int[3][7] // 1 + 1 * 3 = 4 arrays
c = int[5][6][7] // 1 + 1 * 5 + 1 * 5 * 6 = 36 arrays

【讨论】:

  • 所以多维数组中的每个数组都会有1个对象。因此 a = new int[4][3] 将给出 5 个对象,对吗?
  • 我不明白每个数组 1 个对象的含义。在 a = new int[4][3] 中,您的指针 a 是数组数组,大小为 4。每个数组都是 int[3] 数组。所以你写的应该是 5
  • 在问题中我问的是创建的数组对象的数量,因此我使用了“对象”一词。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-08-01
  • 2011-08-19
  • 2016-11-12
  • 2022-12-12
  • 2012-11-01
  • 1970-01-01
  • 2021-07-04
相关资源
最近更新 更多