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

     

  • 相关阅读:
    Mac 安装实用开发软件和日常软件清单
    Docker zabbix-agent 监控 docker tomcat 多实例
    zabbix 组件监控概述
    实况8操作指南
    关于哲哲跳舞这件小事儿
    左耳听风笔记摘要(11-12)程序的异常处理
    左耳听风笔记摘要(07-10)推荐书单/Go/Docker
    从零开始的vue学习笔记(一)
    简述Spark工作流程
    opengl简单入门实例
  • 原文地址:https://www.cnblogs.com/seaspring/p/5268373.html
Copyright © 2011-2022 走看看