java语言 百分网手机站

Java数组在内存中是如何存放的

时间:2020-09-12 17:56:12 java语言 我要投稿

Java数组在内存中是如何存放的

  一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。那么Java数组在内存中是如何存放的?以下仅供参考!

  Java中有两种类型的数组:

  基本数据类型数组;

  对象数组;

  当一个对象使用关键字“new”创建时,会在堆上分配内存空间,然后返回对象的引用,这对数组来说也是一样的,因为数组也是一个对象;

  一维数组

  int[] arr = new int[3];

  在以上代码中,arr变量存放了数组对象的引用;如果你创建了空间大小为10的整形数组,情况是一样的.,一个数组对象所占的空间在堆上被分配,然后返回其引用;

  二维数组

  那么二维数组是如何存储的呢?事实上,在Java中只有一维数组,二维数组是一个存放了数组的数组,如下代码及示意图:

  int[ ][ ] arr = new int[3][ ];

  arr[0] = new int[3];

  arr[1] = new int[5];

  arr[2] = new int[4];

  对于多维数组来说,道理是一样的;

  数组对象及其引用存放在内存中的哪里?

  在Java中,数组同样是一个对象,所以对象在内存中如何存放同样适用于数组;

  正如我们都知道的,java运行时数据区包括堆,JVM栈和其它。如下代码是一个小例子,那么就让我们来看看数组和它的引用在内存中是如何存放的.

  class A { int x; int y;

  }

  ...public void m1() { int i = 0;

  m2();

  }public void m2() {

  A a = new A();

  }

  ...

【Java数组在内存中是如何存放的】相关文章:

如何正确使用Java数组10-02

Java如何打印数组10-02

Java数组的使用09-28

Java中的数组基础知识整理12-02

如何解决java内存泄漏的问题12-02

JAVA数组知识解析10-01

java程序运行时内存如何分配12-02

Java数组的基础学习教程12-03

Java数组的基本学习教程10-01

java内存的详细介绍12-01