- 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基础高频面试题及参考答案
一、基础概念类
问:Java的跨平台特性是怎么实现的?
答:核心是“一次编译,到处运行”。Java源码(.java)先通过javac编译器编译成字节码文件(.class),字节码不依赖具体操作系统,再由对应平台的Java虚拟机(JVM)解释执行。不同系统(Windows、Linux、Mac)有适配的JVM,相当于JVM充当了字节码和操作系统之间的“翻译官”,从而实现跨平台。
问:JDK、JRE、JVM三者的区别是什么?
答:三者是包含关系:JDKJREJVM。JDK(JavaDevelopmentKit)是开发工具包,包含JRE、编译器(javac)、调试工具等,开发者必备;JRE(JavaRuntimeEnvironment)是运行环境,包含JVM和核心类库(如java.lang包),仅需运行Java程序时安装;JVM(JavaVirtualMachine)是虚拟机,负责执行字节码,是跨平台的核心,但不能单独运行,必须依赖JRE提供的类库支持。
问:Java中的基本数据类型有哪些?对应的包装类是什么?
答:基本数据类型共8种,分四类:
整数型:byte(包装类Byte)、short(Short)、int(Integer)、long(Long)
浮点型:float(Float)、double(Double)
字符型:char(Character)
布尔型:boolean(Boolean)
注意:包装类都是引用类型,默认值为null;基本数据类型有默认值(如int默认0,boolean默认false)。
二、面向对象类
问:面向对象的三大特征是什么?分别解释一下。
答:三大特征是封装、继承、多态。
封装:把对象的属性和行为(方法)封装起来,隐藏内部实现细节,只通过公共接口(如getter/setter方法)对外暴露,提高代码安全性和可维护性(比如实体类的属性私有化)。
继承:子类继承父类的非私有属性和方法,减少代码冗余,实现代码复用(关键字extends,Java单继承)。
多态:同一行为在不同对象上有不同表现形式,核心是“方法重写+父类引用指向子类对象”,比如Animal类有eat()方法,Cat和Dog子类重写eat(),Animala=newCat()时,a.eat()执行Cat的实现。
问:重载(Overload)和重写(Override)的区别?
答:核心区别在“是否同一类”和“方法签名”:
重载:同一类中,方法名相同,参数列表(参数个数、类型、顺序)不同,返回值类型可不同,与访问修饰符无关,是“编译时多态”(比如System.out.println()的多种参数形式)。
重写:子类继承父类后,重写父类的方法,要求方法名、参数列表、返回值类型完全一致(子类返回值可是父类的子类,即协变返回),访问修饰符不能比父类更严格,是“运行时多态”(比如上面的eat()方法重写)。
问:final关键字有哪些用法?
答:主要三种用法,对应不同场景:
修饰变量:变量不可修改(基本类型值固定,引用类型地址固定,内容可改),比如finalinta=10;a不能再赋值;finalListlist=newArrayList();list不能指向其他集合,但可以add元素。
修饰方法:方法不能被子类重写,比如父类中finalvoidtest(),子类不能重写该方法。
修饰类:类不能被继承,比如String类是final的,不能创建String的子类。
三、核心语法类
问:String、StringBuffer、StringBuilder的区别?
答:核心差异在“可变性”和“线程安全”:
String:不可变字符串(底层是finalchar数组),每次修改都会创建新对象(比如str+=a会生成新String),效率低,适合少量、不频繁修改的场景。
StringBuffer:可变字符串,线程安全(方法加了synchronized),修改时直接操作原数组,效率比String高,适合多线程环境下的字符串拼接。
StringBuilder:可变字符串,线程不安全,效率比StringBuffer更高(无同步开销),适合单线程环境下的高频字符串修改(比如循环拼接)。
问:ArrayList和LinkedList的区别?
答:底层数据结构不同,导致性能差异:
ArrayList:底层是动态数组(初始容量10,扩容时默认1.5倍),查询快(通过索引直接访问,O(1)),增删
您可能关注的文档
- HBase 高频面试题及实战答案.docx
- HCIE面试高频题及实战答案.docx
- HDFS面试高频题及实战答案.docx
- Helpdesk面试题及参考答案.docx
- Hive 笔试题及参考答案.docx
- Hive高频面试题及参考答案.docx
- Hive面试高频题及实战答案.docx
- HR真实场景面试题及参考答案.docx
- HSE考试题库及答案(实操型).docx
- HSE知识考核试卷及答案.docx
- 2025中国电信股份有限公司涡阳分公司外包人员招聘1人笔试题库附答案.docx
- 2025中国农业科学院农业信息研究所第二批招聘5人笔试备考题库附答案.docx
- 2025中国地质科学院招聘科研助理2人笔试题库附答案.docx
- 2025安徽中共宿州市纪委、中共宿州市委巡察办所属事业单位选调工作人员8人备考题库附答案.docx
- 2025年11月广东深圳市大鹏新区科技和工业信息化局招聘编外人员1人笔试参考题库附答案.docx
- 2025国务院国资委委属事业单位招聘5人笔试题库附答案.docx
- 2025南方电网玉溪供电局项目制用工招聘备考题库(38人)附答案.docx
- 2025中新天津生态城教育系统招聘教职人员参考题库(297人)附答案.docx
- 2025中国移动校园招聘即将启动笔试参考题库附答案.docx
- 2025北京市化工职业病防治院退役大学生士兵定向招聘笔试参考题库附答案.docx
原创力文档


文档评论(0)