• 35648

    文章

  • 23

    评论

  • 20

    友链

  • 最近新加了很多技术文章,大家多来逛逛吧~~~~
  • 喜欢这个网站的朋友可以加一下QQ群,我们一起交流技术。

简易Java(13):Java中的<code>null</code>到底为何方神圣?

欢迎来到阿八个人博客网站。本 阿八个人博客 网站提供最新的站长新闻,各种互联网资讯。 喜欢本站的朋友可以收藏本站,或者加QQ:我们大家一起来交流技术! URL链接:https://www.abboke.com/ITjs/2019/0611/646.html 让我们从下面这行代码开始:

String x = null;

上面这句话到底做了什么?

在回答这个问题之前,我们需要先回顾一下什么是变量以及什么是变量值?一个常见的比喻是变量就类似一个箱子。就像你可以使用箱子盛放东西一样,你能用变量存放变量值。当你声明一个变量时,你就需要设置它的类型。

Java中主要分为两种数据类型:基本类型和引用类型。声明为基本类型的变量存储变量值;声明为引用类型的变量存储引用。在上面那行代码里,初始化语句声明了一个变量xx存储一个字符串的引用。此时这里就是null

String的引用

在内存中,null究竟是什么?

在内存中,null是什么呢?或者说,在Java中,null值是什么?

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

在Java虚拟机规范中,有如下描述:

Java虚拟机规范没有指定一个确定的值来编码null

我可以假定它就是事务的一串0值,就行是在C语言那样。

在内存中,x究竟是什么?

现在,我们知道null是什么。并且,我们知道变量就是存储位置,就是一个包含值的符号名称(标志符)。那么,x究竟在内存中的什么位置?

从Java虚拟机运行时数据区的图片上,我们可以知道,每个方法在线程内都有一个私有栈桢,本地变量就位于栈桢里。

《Simple Java》是一本讲解Java面试题的书。讲解也有不少独特之处,为了面试,《简易Java》走起!



相关文章

暂住......别动,不想说点什么吗?
  • 全部评论(0
    还没有评论,快来抢沙发吧!