三种初始化和java内存的简单分析

简单说明一下java的内存分析

堆:

  • 存放new的对象和数组;包括其中的值

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

 

栈:

  • 存放基本变量类型

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

 

静态初始化:

//静态初始化 : 声明创建+赋值
int[] nums = {1,2,3,4,5,6,80,90,100};
System.out.println(nums[8]);

 

动态初始化:

//动态初始化 : 包含默认初始化
int[] a = new int[10];
a[0] = 100;
a[1] = 100;
?
System.out.println(a[1]);
System.out.println(a[3]);

 

默认初始化:

不赋值时每个元素会默认类型初始化的值

比方说上面a[2]到a[9]没赋值就是默认int类型的初始化值0,并不会不赋值就不存在

 

扩展引用类型初始化

//引用类型初始化
Man[] mens = {new Man(),new Man()};

注意事项:需要有一个引用的对象才可以,不然报错

三种初始化和java内存的简单分析

上一篇:面向 SAR 目标识别的深度卷积神经网络结构设计


下一篇:TypeScript学习(六)三斜线指令