1. 首页
  2. java基础面试

09-Java基础面试题(九)

1.已知表达式 int m [ ] = {9,1,2,3,4,5,6};

下面哪个表达式的值与数组下标量总数相等?( )
A .m.length()
B.m.length
C.m.length()+1
D.m.length+1

答案:B
解析:数组下标是从零开始的,但是数据下标的总量和数据长度相同。

2.下面能让线程停止执行的有(多选)( )

A. sleep();
B. stop();
C. notify();
D. synchronized();
E. yield();
F. wait();
G. notifyAll();
答案:ABDEF
解析:sleep:导致此线程暂停执行指定时间
stop: 这个方法将终止所有未结束的方法,包括run方法。
notify();唤醒线程
synchronized():对象锁
yield:当前正在被服务的线程可能觉得cpu的服务质量不够好,于是提前退出,这就是yield。
wait:当前正在被服务的线程需要睡一会,醒来后继续被服务
notifyAll();唤醒所有线程

3.下列说法正确的有()

A. 在类方法中可用this来调用本类的类方法
B. 在类方法中调用本类的类方法时可直接调用
C. 在类方法中只能调用本类中的类方法
D. 在类方法中绝对不能调用实例方法
答案:B
解析:
A.在类方法中不能使用this关键字
C.在类方法中可以调用其它类中的类方法
D.在类方法中可以通过实例化对象调用实例方法

4.关于Java语言,下列描述正确的是(多选)

A. switch 不能够作用在String类型上
B. List, Set, Map都继承自Collection接口
C. Java语言支持goto语句
D. GC是垃圾收集器,程序员不用担心内存管理
答案:AD
解析:
B. Map没有继承Collection接口
C.java不支持goto语句

5.Which two demonstrate a ?has a” relationship(Choose two)?()


A. public interface Person { } public class Employee extends Person{ } B. public interface Shape { } public interface Rectandle extends Shape { } C. public interface Colorable { } public class Shape implements Colorable { } D. public class Species{ } public class Animal{private Species species;} E. interface Component{ } class Container implements Component{ private Component[] children; }

答案:D
解析:
“has a”是关联关系,关联分双向关联和单向关联,双向关联是A,B类分别持有对方的引用(有是对方的属性).
单向关联是一方持另一方的引用.

6.Given the folowing classes which of the following will compile without error?()


interface IFace{} class CFace implements IFace{} class Base{} public class ObRef extends Base{ public static void main(String argv[]){ ObRef ob = new ObRef(); Base b = new Base(); Object o1 = new Object(); IFace o2 = new CFace(); } }

A. o1=o2;
B. b=ob;
C. ob=b;
D. o1=b;
答案:B
解析:
b和ob对应的类之间没有任何关系,要想b=ob成立要么是父子关系,要么是接口实现类的关系

7.问:简单说说 Array 和 ArrayList 的区别?

答:这题相当小儿科,Array 可以包含基本类型和对象类型,ArrayList 只能包含对象类型;Array 的大小是固定的,ArrayList 的大小是动态变化的;ArrayList 提供了更多的方法和特性,譬如 addAll()、removeAll()、iterator() 等。

8.问:为什么 HashMap 中 String、Integer 这样的包装类适合作为 key 键,即为什么使用它们可以减少哈希碰撞?

答:因为 String、Integer 等包装类是 final 类型的,具有不可变性,而且已经重写了 equals() 和 hashCode() 方法。不可变性保证了计算 hashCode() 后键值的唯一性和缓存特性,不会出现放入和获取时哈希码不同的情况且读取哈希值的高效性,此外官方实现的 equals() 和 hashCode() 都是严格遵守相关规范的,不会出现错误。

希望读者能够给小编留言,也可以点击[此处扫下面二维码关注微信公众号](https://www.ycbbs.vip/?p=28 "此处扫下面二维码关注微信公众号")

看完两件小事

如果你觉得这篇文章对你挺有启发,我想请你帮我两个小忙:

  1. 关注我们的 GitHub 博客,让我们成为长期关系
  2. 把这篇文章分享给你的朋友 / 交流群,让更多的人看到,一起进步,一起成长!
  3. 关注公众号 「方志朋」,公众号后台回复「666」 免费领取我精心整理的进阶资源教程
  4. JS中文网,Javascriptc中文网是中国领先的新一代开发者社区和专业的技术媒体,一个帮助开发者成长的社区,是给开发者用的 Hacker News,技术文章由为你筛选出最优质的干货,其中包括:Android、iOS、前端、后端等方面的内容。目前已经覆盖和服务了超过 300 万开发者,你每天都可以在这里找到技术世界的头条内容。

    本文著作权归作者所有,如若转载,请注明出处

    转载请注明:文章转载自「 Java极客技术学习 」https://www.javajike.com

    标题:09-Java基础面试题(九)

    链接:https://www.javajike.com/article/1375.html

« 10-Java基础面试题(十)
08-Java基础面试题(八)»

相关推荐

QR code