Java中的null到底是什么?
来源:互联网 发布:mac版chrome没有flash 编辑:程序博客网 时间:2024/05/24 02:22
让我们从下面这个语句开始:
1.下面这条语句到底干了什么?
String x = null;首先回想一下,什么是变量什么是值,
一个通常的比喻就是,一个变量就像一个盒子。就像你能用盒子存储一些东西,你也可以使用一个变量来存储一个值。
当然,当你声明一个变量的时候,你需要设置它的类型。
Java语言中主要有两种类型:原始类型和引用类型。声明了原是变量类型的变量存储的是原始类型数据(8种),
声明了引用类型的变量存储的是引用。在这个例子中,初始化语句
String x=null;
声明了一个变量"x","x"存储的是String类型(8中原始类型之外的类型)的引用。在这里为空。
if x="abc",那么就会发生类似下面的事情:
2.到底null在内存中是什么样子的?
首先,null 并不是一个确切的对象实例,所以这里并没有给它分配内存。它只是一个值,这个值指明了,
这个对象的引用目前并没有引用任何对象。
From JVM Specifications:
3.到底x在内存中是什么?The Java Virtual Machine specification does not mandate a concrete value encoding null.
现在知道了null是什么,而且我们也知道了,一个变量是包含某个值的一个存储的位置以及一个标识符。
那么它在内存的哪里呢?
栈中。
0 0
- Java中的null到底是什么?
- Java中的null到底是什么?
- Java中的Null是什么?
- java 中的哈希码到底是什么?
- NULL到底是什么
- Java中的null究竟是什么?
- Java中的null到底是啥?
- java中的file.encoding属性到底是什么?
- Java EJB到底是什么?
- Java TheadLocal到底是什么
- Java bean 到底是什么?
- java虚拟机到底是什么
- C语言中的"NULL"到底是什么?又不是什么?有什么用?怎么用?
- C语言中的"NULL"到底是什么?又不是什么?有什么用?怎么用?
- C语言中的"NULL"到底是什么?又不是什么?有什么用?怎么用?
- C语言中的"NULL"到底是什么?又不是什么?有什么用?怎么用?
- C语言中的"NULL"到底是什么?又不是什么?有什么用?怎么用?
- php中的class到底是什么?
- 学习ThinkPHP3.2.2:视频第七讲中的U函数
- 130 Surrounded Regions [Leetcode]
- android下的事物
- LeetCode题解:Convert Sorted List to Binary Search Tree
- getaddrinfo使用详解
- Java中的null到底是什么?
- 学习ThinkPHP3.2.2:视频7中的跳转
- 洛谷2161[Shoi2009]Booking 会场预约(set)
- 03crawler02 爬取贴吧排名, 制作图片集
- 【Web安全与防御】简析Sql注入与防御措施
- 剑指offer - 二叉搜索树转双向链表
- C语言的动态数组函数的sizeof、malloc和free
- 软工视频(四)——软件设计
- 学习ThinkPHP3.2.2:video7中url模式配置