Java中的内存分配以及栈和堆的区别
Java虚拟机在执行Java程序的过程中会把它管理的内存划分成若干个不同的数据区域
栈
存放的是局部变量
局部变量:在方法定义中或者方法声明上的变量都是局部变量。
堆
存放的是所有new出来的东西
-
每一个new出来的东西都会为其分配一个地址值。
-
每一个变量都有一个默认的值
数据类型 值 byte,short,int,long 0 float,double 0.0 char ‘\u0000’ boolean false 引用数据类型 null 引用数据类型:数组,类,接口 属于引用数据类型。
-
使用完毕就变成了垃圾,等待垃圾回收器对其回收
方法区
本地方法区
与系统相关
寄存器
区
本地方法区
与系统相关
寄存器
cpu使用