zoukankan      html  css  js  c++  java
  • 九、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 运行的数据区域划分,我们知道,在线程中每个方法都有个私有的堆栈,本地变量被保存在这里。

     

  • 相关阅读:
    manacher(求最大回文串并返回)
    编程求一个后缀表达式的值
    栈的简单使用
    云计算的概念
    乐优商城
    四大函数型接口
    Stream流计算
    JWT实现无状态登录
    Thymeleaf模板引擎
    elasticSearch的使用
  • 原文地址:https://www.cnblogs.com/seaspring/p/5268373.html
Copyright © 2011-2022 走看看