我们从下面的语句开始介绍:
String x = null;
1、这句代码究竟做了一件什么事情?
让我们回忆一下什么是变量,什么又是的值,一个变量类似一个盒子。正如你可以用一个框来存储的东西,你可以用一个变量来存储值。当声明一个变量,我们需要设置它的类型。
java有两大类型:原始类型和引用类型。一个原始类型存储值声明的变量,一个引用类型存储引用声明的变量。在这种情况下,初始化语句声明了一个变量“x”。x表示的是String的引用,它的是为null。
通过如下的图提供了有关这个概念更好的描述。
如果 “x=abc”,它看起来像这样的
2、NULL在内存中究竟是什么?
NULL在内存中究竟是什么?又或者在Java中null指的又是什么呢?
首先,null不是一个有效的对象实例,所以没有为它分配内存。它只是一个值,该值指示对象没有具体的引用。
在jvm规范中是这样描述null的:
The Java Virtual Machine specification does not mandate a concrete value encoding null.『Java虚拟机规范并不要求一个具体的值编码为null。』
可以假设它是类似像在C语言的ITIS.(此处需要说的是,本人对C不了解,这里就不方便细说)
3、究竟X在内存又是什么?
现在我知道null是什么,我们知道一个变量是一个存储位置和相关的符号名(标识符),其中包含值。那么x究竟在内存中的什么位置呢?
通过阅读JVM 运行时数据区我们知道,既然每个方法都在线程的栈空间中有一个私有的栈帧,那么局部变量就存放在栈帧里面.
参考文献:
1. Variables, Operators, and Expressions
2. Variable
相关链接:
- What does a Java array look like in memory?
- Declaration, Initialization and Scoping for Java
- Notes from “Sun Certified Programmer for Java 6 Study Guide”
- String is passed by “reference” in Java
如果翻译不当,还请各位前辈多多指教。
相关推荐
毕业论文的专业译文,计算机专业,关于java堆的一些内容。中英文全。
JSP 还支持在 Web 页面中直接嵌入 Java 代码。可用两种方法访问 JSP 文件:浏览器发送 JSP 文件请求、发送至 Servlet 的请求。JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。...
本资源原文为java-for-Anylogic-user英文版,即面向Anylogic用户的Java开发,本人纯手工翻译,讲述以拖放方式以外的编程思路,对于建立复杂系统有很大...这是一个信息论,可以在模型中进行数据操作以及智能体的搭建。
在今后的软件设计中无论使用Clojure语言,还是坚持使用Java语言,Clojure语言都将与java做比较,哪种是设计软件的最佳方式。 Clojure语言是一个JVM(包括Groovy,Jython和JRuby等语言)的新语言,它提供了活力,...
java2007【搜狗文档翻译_译文_英译中】1
译文 _ 什么是CCPA,你为什么要关心? web安全 APT 安全威胁 数据安全 业务安全
有关java,jsp类论文可用的英文论文及中文译文,两个文件一个是英文原文,一个是翻译
Generics_in_the_Java_Programming_Language的中文译文
JAVA外文文献+翻译.pdf
计算机类专业毕业设计外文翻译的原文及译文。已经排版,下载即用。
java并发底层的一些概念、原理。 java5、java6中常用并发类、并发集合的属性和使用方法。
关于java的外文文献中英文对照都有
译文:Fork and Join: Java Can Excel at Painless Parallel Programming Too!(Fork and Join Java也可以轻松地编写并发程序)
Information Dashboard Design 中文译文
注:下文中的 *** 代表文件名中的版本号。 # 【aws-java-sdk-s3-***.jar中文-英文对照文档.zip】 中包含: 中文-英文对照文档:【aws-java-sdk-s3-***-javadoc-API文档-中文(简体)-英语-对照版.zip】 jar包下载...
# 【javacv-***.jar中文-英文对照文档.zip】 中包含: 中文-英文对照文档:【javacv-***-javadoc-API文档-中文(简体)-英语-对照版.zip】 jar包下载地址:【javacv-***.jar下载地址(官方地址+国内镜像地址).txt】 ...
比如,标签<p></p>之间的文字就会成为一个段落,在这个段落中可以使用标签<h1></h1>来定义最主要的页面标题。注意大多数开始标签,都会有相应的以开头的结束标签。 .............................. ..................
外文翻译—Java(译文+英文)
外文翻译—Java(译文+英文).doc
外文翻译—Java(译文-英文).doc