A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 沉湎码海 中级黑马   /  2017-2-16 09:17  /  796 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

引用型变量的本质:
引用型变量的本质是指向对象的指针。

Java虚拟机的内存布局:

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

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





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



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




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

所以可以看出:

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









2 个回复

倒序浏览
111111111111111

点评

1111111111111111  发表于 2017-2-16 15:48
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马