ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

探寻Java中的null到底是什么

2019-07-04 13:56:06  阅读:214  来源: 互联网

标签:存储 Java 变量 内存 引用 null 探寻


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

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

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

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

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

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

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

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

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

“x”存储字符串引用。

这里是零。

下面的可视化将更好地理解这个概念。

 


如果x = "abc",则如下所示:

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

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

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

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

从JVM规范:

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

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

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

现在我们知道零是什么。
我们知道变量是一个存储位置和一个相关的符号名(标识符),它包含一些值。
x在内存中的确切位置?
从JVM运行时数据区域的图中,我们知道由于每个方法在线程的堆栈
中都有一个私有堆栈框架,所以本地变量位于该框架中。

图文来源:网络
如有侵权请联系作者删除

标签:存储,Java,变量,内存,引用,null,探寻
来源: https://blog.csdn.net/DLQFHL/article/details/94611335

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有