• 九、Null在Java中的精确表示


    让我们从下面的语句开始:

    String x = null;

    1.           这个语句具体的做了什么?

    回一下什么是变量和什么是值。通常的比喻是变量类似于一个盒子。

    就像你可以用盒子来存储东西一样,你可以用变量来存储值。

    当声明一个变量的时候,我们需要设置它的类型。

    Java的类型主要有两种分类:基本类型和引用。被声明为基础类型的变量保存基础类型的值,被什么保存引用的变量保存引用。

    在这种情况下,初始化一个被声明为“x”的变量,“x”保存着字符串引用。 这里它是null。

    下面以可视化的方式让我们更好地理解这个概念。

     

    如果X = “abc”,它将看上去是如下的:

     

    2.         在内存中null具体是怎么样的

    Null具体在内存中是怎么样的或者声明是null值?

    首先,null不是个合法的对象实例,所以没有为它分配的内存。它只是简单的一个值来指示这个对象的引用,现在没有指向一个具体的对象。

    JVM标准:

    JVM并没有强制一个具体为空的值。(注:

    The Java Virtual Machine specification does not mandate a concrete value encoding nul

    我假设它像其他类似C的语言中,是一串类似零的东西。

    3、x在内存中具体是什么?

    现在我们知道null是什么了,我们知道,一个变量是一块被具体符号命名的存储区域。那x具体在内存中是什么?

    根据JVM 运行的数据区域划分,我们知道,在线程中每个方法都有个私有的堆栈,本地变量被保存在这里。

     

  • 相关阅读:
    Task 4.5 求二维数组中的最大连通子数组之和
    Task 6.4 冲刺Two之站立会议4
    《程序员开发心理学》阅读笔记二
    第二次站立会议9
    第二次站立会议8
    第二次站立会议7
    第二次站立会议6
    第二次站立会议5
    第二次站立会议4
    第二次站立会议3
  • 原文地址:https://www.cnblogs.com/seaspring/p/5268373.html
Copyright © 2020-2023  润新知