java基础之内存管理(引用类型及基本数据类型)

JVM负责管理内存空间,

内存被分为三个部分:堆、栈、还有方法区。

堆:存放new出来的对象以及其成员变量

栈:存放局部变量(方法里的都是局部变量)

方法区:存放class字节码文件(包含方法)

引用类型变量里存放的是指向堆中其引用类型对象的地址,而基本数据类型里存放的是具体的数

类和数组,都是引用类型,引用类型变量的默认值都为null。

引用类型变量之间画等号,不是赋值,而是指向同一个对象,修改其中一个的值,也会影响另一个的值,因为他们指向的是同一个对象

基本数据类型变量之间画等号,只是赋值,修改其中一个的值,不会影响另一个的值。

eg:我们new出一个student对象

Student stu = new Student();

在堆里面,有一个Student对象,还有age=;name=null;的这些成员变量

在栈里面,有stu ,里面装着指向Student对象的地址


int a = b;

此时,堆里面没有东西,在栈里有 a   5

我们可以用一张图来看:




猜你喜欢

转载自blog.csdn.net/qq_34800258/article/details/81031805