- 1、本文档共27页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE2 / NUMPAGES2
2022年Java经典面试题(一)
一、基础篇
1、如何实现对象克隆?
【仅供参考】实现Cloneable接口,重写 clone() 方法。这种方式是浅拷贝,即如果类中属性有自定义引用类型,只拷贝引用,不拷贝引用指向的对象。如果对象的属性的Class也实现 Cloneable 接口,那么在克隆对象时也会克隆属性,即深拷贝。结合序列化,深拷贝。通过mons中的工具类BeanUtils和PropertyUtils进行对象复制。
2、Object常用方法有哪些?
【仅供参考】Java面试经常会出现的一道题目,Object的常用方法。下面给大家整理一下。Object常用方法有:toString()、equals()、hashCode()、clone()等。
3、深拷贝和浅拷贝区别是什么?
【仅供参考】浅克隆:当对象被复制时只复制它本身和其中包含的值类型的成员变量,而引用类型的成员对象并没有复制。深克隆:除了对象本身被复制外,对象所包含的所有成员变量也将复制。
4、Java 中操作字符串都有哪些类?它们之间有什么区别?
【仅供参考】操作字符串的类有:String、StringBuffer、StringBuilder。String 和 StringBuffer、StringBuilder 的区别在于 String 声明的是不可变的对象,每次操作都会生成新的 String 对象,然后将指针指向新的 String 对象,而 StringBuffer、StringBuilder 可以在原有对象的基础上进行操作,所以在经常改变字符串内容的情况下最好不要使用 String。StringBuffer 和 StringBuilder 最大的区别在于,StringBuffer 是线程安全的,而 StringBuilder 是非线程安全的,但 StringBuilder 的性能却高于 StringBuffer,所以在单线程环境下推荐使用 StringBuilder,多线程环境下推荐使用 StringBuffer。
5、和的区别?
【仅供参考】:逻辑与运算符。当运算符左右两边的表达式都为 true,才返回 true。同时具有短路性,如果第一个表达式为 false,则直接返回 false。:逻辑与运算符、按位与运算符。按位与运算符:用于二进制的计算,只有对应的两个二进位均为1时,结果位才为1 ,否则为0。逻辑与运算符: 在用于逻辑与时,和 的区别是不具有短路性。所在通常使用逻辑与运算符都会使用 ,而 更多的适用于位运算。
6、当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
【仅供参考】值传递。Java 中只有值传递,对于对象参数,值的内容是对象的引用。
7、== 和 equals 的区别是什么?
【仅供参考】对于基本类型和引用类型 == 的作用效果是不同的。基本类型:比较的是值是否相同;引用类型:比较的是引用是否相同;equals 本质上就是 ==,只不过 String 和 Integer 等重写了 equals 方法。== 对于基本类型来说是值比较,对于引用类型来说是比较的是引用;而 equals 默认情况下是引用比较,只是很多类重新了 equals 方法,比如 String、Integer 等把它变成了值比较,所以一般情况下 equals 比较的是值是否相等。
8、用最有效率的方法计算2乘以8?
【仅供参考】2 3。进阶:通常情况下,可以认为位运算是性能最高的。但是,其实编译器现在已经“非常聪明了”,很多指令编译器都能自己做优化。所以在实际实用中,我们无需特意去追求实用位运算,这样不仅会导致代码可读性很差,而且某些自作聪明的优化反而会误导编译器,使得编译器无法进行更好的优化。
9、BIO、NIO、AIO 有什么区别?
【仅供参考】BIO:Block IO 同步阻塞式 IO,就是我们平常使用的传统 IO,它的特点是模式简单使用方便,并发处理能力低。NIO:Non IO 同步非阻塞 IO,是传统 IO 的升级,客户端和服务器端通过 Channel(通道)通讯,实现了多路复用。AIO:Asynchronous IO 是 NIO 的升级,也叫 NIO2,实现了异步非堵塞 IO ,异步 IO 的操作基于事件和回调机制。
10、JDK/JRE/JVM三者的关系
【仅供参考】JVM英文名称(Java Virtual Machine),就是我们耳熟能详的 Java 虚拟机。Java 能够跨平台运行的核心在于 JVM 。所有的java程序会首先被编译为.class
您可能关注的文档
最近下载
- 民用无人机驾驶员训练手册(供参考).doc VIP
- 今日头条机构入驻协议3篇.docx
- 肺部结节影的影像学诊断与鉴别诊断.ppt
- 2025年山东省青岛西海岸新区中考一模训练语文试题(含答案) .pdf VIP
- 民用无人机驾驶员训练手册(2020).docx VIP
- 人教PEP版(2024)三年级下册英语Unit 6 Numbers in life单元整体教学设计(共6课时).docx
- 国网电动汽车服务有限公司招聘笔试题库2022.pdf
- 自娱自乐攻略适用21.0211新春版 by龙行天下Iray.xlsx VIP
- 基于单片机的智能衣柜控制系统设计.docx
- 搅拌站沙石供应合同模板.docx VIP
文档评论(0)