• 极客专栏正式上线!欢迎访问 https://www.jikewenku.com/topic.html
  • 极客专栏正式上线!欢迎访问 https://www.jikewenku.com/topic.html

Java中的null到底是什么?

技术杂谈 勤劳的小蚂蚁 2个月前 (02-13) 78次浏览 已收录 0个评论 扫描二维码

让我们从下面的陈述开始:


1. 这句话到底是什么意思?

回想一下什么是变量,什么是值。

一个常见的比喻是变量类似于一个盒子。

就像您可以使用一个框来存储某些东西一样,您也可以使用一个变量来存储一个值。

在声明变量时,我们需要设置它的类型。

Java中有两大类类型:原语类型和引用类型。

声明为基元类型的变量存储值;引用类型声明的变量存储引用。

在这种情况下,初始化语句声明一个变量“x”。

“x”存储字符串引用。

这里是零。

下面的可视化将更好地理解这个概念。
如果x = “abc”,则如下所示:
2. 内存中的null到底是什么?

内存中的null到底是什么?或者Java中的null值是什么?

首先,null不是一个有效的对象实例,因此没有为它分配内存。

它只是一个值,指示对象引用当前不引用对象。

从JVM规范:

Java虚拟机规范不要求具体的值编码为null。

我假设它和其他C语言一样都是0。

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

现在我们知道零是什么。

我们知道变量是一个存储位置和一个相关的符号名(标识符),它包含一些值。

x在内存中的确切位置?

从JVM运行时数据区域的图中,我们知道由于每个方法在线程的堆栈
中都有一个私有堆栈框架,所以本地变量位于该框架中。

丨极客文库, 版权所有丨如未注明 , 均为原创丨
本网站采用知识共享署名-非商业性使用-相同方式共享 3.0 中国大陆许可协议进行授权
转载请注明原文链接:Java中的null到底是什么?
喜欢 (0)
[247507792@qq.com]
分享 (0)
勤劳的小蚂蚁
关于作者:
温馨提示:本文来源于网络,转载文章皆标明了出处,如果您发现侵权文章,请及时向站长反馈删除。

您必须 登录 才能发表评论!

  • 精品技术教程
  • 编程资源分享
  • 问答交流社区
  • 极客文库知识库

客服QQ


QQ:2248886839


工作时间:09:00-23:00