黑马程序员技术交流社区

标题: java引用型变量的本质 [打印本页]

作者: 沉湎码海    时间: 2017-2-16 09:17
标题: java引用型变量的本质
引用型变量的本质:
引用型变量的本质是指向对象的指针。

Java虚拟机的内存布局:

               
    Java虚拟机的内存被分为5个部分:

        1.虚拟机栈
        2.本地方法栈
        3.程序计数器
        4.方法区
        5.堆区





在Java里面,把类看成是一种引用型数据类型,因此,Java里面
变量的种类有两种:
                一种是基本数据类型的变量,
                另一种是引用型数据类型的变量。



当我们实例化一个类对象的时候,系统便会在堆区中分配一定内存
用以存储该对象的数据。当我们创建一个引用型变量的时候,它实际上是一个引用,它被存放在
栈内存里,它指向实际的对象;




由此我们可知,引用型变量是被存储在栈区中的
而对象是被存储在堆区中的,对象的属性数据都被存放在堆里,
而引用型变量仅仅是指向堆区里面的该对象。

所以可以看出:

        引用型变量的本质其实是指向堆中某个对象的指针。
这也就是为什么:堆内存里的对象可以有多个引用,即多个引用
变量指向同一个对象。










作者: 灬Wonder    时间: 2017-2-16 15:48
111111111111111




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2