【Java基础】内存分析+数组初始化

内存分析+数组初始化

java内存分析

  • 堆:

    • 存放new的对象和数组

    • 可以被所有的线程共享,不会存放别的对象引用

  • 栈:

    • 存放基本变量类型(包含这个基本类型的具体数值)

    • 引用对象的变量(存放这个引用在对立面的具体地址)

  • 方法区

    • 可以被所有的线程共享

    • 包含了所有的class和static变量

数组变量属于引用类型,数组也可以看成是对象,数组中的每个元素都相当于该对象的成员变量。数组本身就是对象,java中对象是在堆中的,因此数组无论保原始类型还是其他对象类型,数组对象本身是在堆中的。

数组初始化

  • 静态初始化:声明+赋值

    int[] a={1,2,3,4,5};

    int[] a={new b(1,1),new b(1,1),new b(1,1)};

  • 动态初始化:先声明再赋值

    int[] a = new int[2];

    a[0]=1;

    a[1]=2;

  • 数组的默认初始化

    数组是引用类型,他的元素相当于类的实例变量,因此数组一经分配空间,其中的每个元素也按照实例变量同样的方式被隐式初始化。

  •  

posted @ 2020-06-22 17:43  yooK6  阅读(161)  评论(0)    收藏  举报