文档章节

引用和内存考题

风格若干
 风格若干
发布于 2016/08/09 22:32
字数 373
阅读 10
收藏 1
public class Square {  
    long width;  
    public Square(long l) {   
        width = l;  
    }  
    public static void main(String arg[]) {   
        Square a, b, c;  
        a = new Square(42L);   
        b = new Square(42L);   
        c = b;   
        long s = 42L;  
    } 
}

 

解答:

这题考的是引用和内存。
//声明了3个Square类型的变量a, b, c
//在stack中分配3个内存,名字为a, b, c
Square a, b, c; 
//在heap中分配了一块新内存,里边包含自己的成员变量width值为48L,然后stack中的a指向这块内存
a = new Square(42L);
//在heap中分配了一块新内存,其中包含自己的成员变量width值为48L,然后stack中的b指向这块内存
b = new Square(42L);   
//stack中的c也指向b所指向的内存
c = b;
//在stack中分配了一块内存,值为42
long s = 42L; 

来看4个选项:

A: a == b

由图可以看出a和b指向的不是同一个引用,故A错

B:s == a

一个Square类型不能与一个long型比较,编译就错误,故B错

c:b == c

由图可以看出b和c指向的是同一个引用,故C正确

d:a equal s

程序会把s封装成一个Long类型,由于Square没有重写Object的equals方法, 所以调用的是Object类的equals方法,源码如下

public boolean equals(Object obj) {
     return (this == obj);
}

其实就是判断两个引用是否相等,故D也错误。

 

© 著作权归作者所有

共有 人打赏支持
风格若干
粉丝 6
博文 87
码字总数 53598
作品 0
西安
程序员
私信 提问
彻底理解JVM常考题之分级引用模型

本文通过探析Java中的引用模型,分析比较强引用、软引用、弱引用、虚引用的概念及使用场景,知其然且知其所以然,希望给大家在实际开发实践、学习开源项目提供参考。 Java的引用 对于Java中的...

Java填坑之路
2018/10/12
0
0
软考网络工程师冲刺学习重要考点快速解题、提分方法

分专题重点讲解软考网工选择题第1-35题中必考题型及快速解题、提分方法 专题一:CPU、内存、总线等 专题二:数字编码、传输速率计算、调制解调及PCM计算等 专题三:奇偶校验、CRC、汉明码等 ...

软考徐朋
2017/04/11
0
0
软考网络工程师冲刺阶段重要考点学习

软考网络工程师冲刺直播课程 http://edu.51cto.com/course/8416.html 冲刺要点: 分专题重点讲解软考网工选择题第1-35题中必考题型及快速解题、提分方法 专题一:CPU、内存、总线等 专题二:...

软考徐朋
2017/10/19
0
0
char * a, char ** a, char * a[], char a[][], char

做了软考题,遇到点疑问,查了资料,mark下: 1:传值调用与传地址调用(传引用):http://blog.sina.com.cn/s/blog8d37a72b01013v61.html: 2:char a, char a, char a[], char a[][], char ...

yifon
2014/04/19
0
0
来自非专业Python讲师的一份Django考题,面试无忧!

Django的面试题少之又少,然而对于Python程序员又不得不掌握。 可以考察笔试者对于框架的理解和使用熟练度,展开了问,也可以问到很深的地方。 Django的Model的继承有几种形式,分别是什么?...

Python新世界
2018/07/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

第1章

背景:因为最近在考教师资格证,考的是计算机学科,所以学科考的是:信息技术学科知识与教学能力;因此图书馆借了一本书,把最基本的知识看一遍,为之后的笔试和面试做充足的准备。 大学计算...

怪咖先生forever
34分钟前
1
0
element-ui之el-collapse-transition(折叠展开动画)源码解析学习

项目中发现同事使用了element-ui的el-collapse-transition来做折叠展开效果,打开源码看了下发现挺有意思,来解析学习一番。 el-collapse-transition的引入方式 // fade/zoom 等import 'e...

学霸猫
55分钟前
1
0
解释器模式_实战

前言 解释器模式是什么?这个设计模式其实比较冷门,不太会解释,用例子说明把。解释器模式一般用在sql,xml,json解析等场景。比如说你有一个json对象,你要获取这个对象中任意一个节点的值。...

grace_233
今天
6
0
告别2018

今天中午从喵喵家回来之后,倒头就睡到下午4点了。可能是之前透支的身体,在我放松下来后,开始觉得疲惫了,所以最近估计会进入嗜睡期。醒来之后,拿了包花生,开了瓶低糖菊花茶,听着网易云...

七木网络科技
今天
4
0
MySql数据库分表分区实践

1. 背景 —— 公司物联网项目 海量设备通过物联网服务接入云端,设备每30s上报一次自身数据(以下称为动态数据)。 物联网服务将设备上报的数据转发给数据处理网关,由数据入库网关执行批量入...

吴伟祥
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部