为您深度解析:java中的null到底是什么?

让我们从下面的语句开始:
字符串 x = null ;

1.这句话到底是做什么的?

回想一下什么是变量,什么是值。一个常见的比喻是变量类似于盒子。就像可以使用盒子来存储内容一样,也可以使用变量来存储值。声明变量时,我们需要设置其类型。
Java有两种主要类型:基本类型和引用类型。声明为原始类型的变量存储值;引用类型声明的变量存储引用。在这种情况下,初始化语句声明变量“ x”。“ x”存储字符串引用。在这里为空。
下面的可视化效果使您对该概念有了更好的了解。在这里插入图片描述
如果x =“ abc”,则如下所示:在这里插入图片描述

2.内存中的空值到底是什么?

内存中的null到底是什么?或Java中的null值是什么?
首先,null不是有效的对象实例,因此没有为其分配内存。它只是一个值,指示对象引用当前未引用对象。
从JVM规范:
Java虚拟机规范没有规定编码为null的具体值。
我假设所有其他类似C的语言都是类似的零。

3.内存中的x到底是什么?

现在我们知道什么是null。而且我们知道变量是存储位置和包含一些值的关联符号名(标识符)。x在内存中的确切位置?
从JVM运行时数据区域的图表中,我们知道,由于每种方法在线程的堆栈中都有一个私有堆栈框架,因此局部变量位于该框架上。
最后,开发这么多年我也总结了一套学习Java的资料与面试题,如果你在技术上面想提升自己的话,可以关注我,私信发送领取资料或者在评论区留下自己的联系方式,有时间记得帮我点下转发让跟多的人看到哦。在这里插入图片描述

发布了38 篇原创文章 · 获赞 8 · 访问量 2696

猜你喜欢

转载自blog.csdn.net/zhaozihao594/article/details/103974714