引用型变量的本质:
引用型变量的本质是指向对象的指针。
Java虚拟机的内存布局:
Java虚拟机的内存被分为5个部分:
1.虚拟机栈
2.本地方法栈
3.程序计数器
4.方法区
5.堆区
在Java里面,把类看成是一种引用型数据类型,因此,Java里面
变量的种类有两种:
一种是基本数据类型的变量,
另一种是引用型数据类型的变量。
当我们实例化一个类对象的时候,系统便会在堆区中分配一定内存
用以存储该对象的数据。当我们创建一个引用型变量的时候,它实际上是一个引用,它被存放在
栈内存里,它指向实际的对象;
由此我们可知,引用型变量是被存储在栈区中的
而对象是被存储在堆区中的,对象的属性数据都被存放在堆里,
而引用型变量仅仅是指向堆区里面的该对象。
所以可以看出:
引用型变量的本质其实是指向堆中某个对象的指针。
这也就是为什么:堆内存里的对象可以有多个引用,即多个引用
变量指向同一个对象。
|
|