- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
Java初级开发面试题及参考答案
一、单选题(共5题)
以下关于Java基础语法的说法,正确的是()
A.Java支持多重继承(一个类直接继承多个父类)
B.被final修饰的类可以被继承,但不能重写方法
C.String类是不可变类,每次修改都会创建新对象
D.int类型的默认值是1,String类型的默认值是
下列关于Java集合的描述,错误的是()
A.ArrayList底层是数组实现,查询效率高,增删效率低
B.HashMap是线程安全的,Hashtable是线程不安全的
C.LinkedList底层是双向链表,增删首尾元素效率高
D.Set集合中的元素不允许重复,依赖equals()和hashCode()方法判断
关于Java异常处理,以下说法正确的是()
A.try-catch-finally中,finally块一定会执行(除非JVM崩溃)
B.checked异常不需要显式处理(捕获或抛出)
C.NullPointerException属于checked异常
D.可以用throw关键字声明方法可能抛出的异常
以下代码的运行结果是()
publicclassTest{
publicstaticvoidmain(String[]args){
inta=10;
Integerb=10;
System.out.println(a==b);
Integerc=newInteger(10);
System.out.println(b==c);
}
}
A.true、trueB.true、falseC.false、trueD.false、false
关于Java多线程,以下说法错误的是()
A.实现Runnable接口比继承Thread类更灵活(可避免单继承限制)
B.start()方法用于启动线程,run()方法是线程执行体
C.synchronized关键字可以修饰方法或代码块,保证原子性
D.线程的sleep()方法会释放锁,wait()方法不会释放锁
二、简答题(共7题)
请说明Java中==和equals()的区别,举个实际例子。
什么是Java的自动装箱和拆箱?为什么会出现Integeri=10;Integerj=10;System.out.println(i==j);返回true,而Integeri=128;Integerj=128;返回false的情况?
简述ArrayList和LinkedList的适用场景,日常开发中你会怎么选择?
什么是异常链?在实际开发中,你如何处理异常(比如查询数据库时出现异常)?
说明static关键字的作用(至少3点),并举例说明static方法和非static方法的区别。
Java中的多态是如何实现的?请举一个简单的代码示例。
什么是Java内存模型中的栈、堆、方法区?分别存储什么数据?
三、编程题(共3题)
编写一个方法,输入一个字符串,统计其中每个字符出现的次数(忽略大小写,比如A和a算同一个),并以{字符:次数}的格式输出结果。
实现一个简单的单例模式(饿汉式或懒汉式),并说明该模式的适用场景。
编写一个方法,判断一个链表是否有环(假设链表节点定义为classListNode{intval;ListNodenext;ListNode(intx){val=x;next=null;}})。
参考答案
一、单选题答案
C解析:AJava只支持单继承,可通过接口实现多继承;Bfinal类不能被继承,final方法不能被重写;Dint默认值是0,String默认值是null。
B解析:HashMap线程不安全,Hashtable线程安全(效率低)。
A解析:Bchecked异常必须显式处理;CNullPointerException是运行时异常(unchecked);Dthrow用于抛出具体异常对象,throws用于声明方法可能抛出的异常。
B解析:a是基本类型,b是包装类,==会自动拆箱比较值(true);c是new创建的对象,b是常量池中的对象,==比较地址(false)。
D解析:sleep()不释放锁,wait()释放锁。
二、简答题答案
==和equals()区别:
==:基本类型比较值,引用类型比较内存地址(是否是同一个对象);
equals(
原创力文档


文档评论(0)