- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
Java面试题及答案汇总(2024整理)
202442513:15
年月日
Java基础题:
1.JDK和JRE有什么区别?
•jdk:javadevelopmentkit,jdk是面向开发人员的,是开发工具包,包括开发人员需要用到的一些类,JDK中包含JRE
•jre:javaruntimeEnvironment,jre是java运行时环境,包含了运行Java程序所需的类库、JVM(Java虚拟机)和其他文件,但不包含Java的开发工具。如果只需要运行Java应用程
序,而不是开发它,那么只需要JRE。
2.==和equals的区别是什么?
•==比较的是引用是否相同,比较的是对象的引用地址,如果比较的两个对象地址位不同,值相同也会返回false
•而equals()比较的是对象的内容是否相同,只要值相同,就会返回true
3.两个对象的hashCode()相同,则equals()也一定为true,对吗?
不对,hashCode也是可以重写的,所以不一定。
反之,如果equals()相同,那么hashCode是一定相等的。
4.final在java中有什么作用?
声明为final的类,方法,变量不能被继承,重写和修改。final关键字在Java中用于表示不可变的实体,包括类、方法和变量。通过使用final关键字,可以增强代码的安全性、可读性和
性能。
5.String属于基础的数据类型吗?
在Java中,String不是基本数据类型,而是引用数据类型,java中的基本数据类型:byte、char、short、int、long、float、double、boolean
6.java中操作字符串都有哪些类?它们之间有什么区别?
String、StringBuffer、StringBuilder
String类型的字符串是不可变的,StringBuffer和StringBuilder是可以对同一个对象做更新操作的
StringBuffer是线程安全的,StringBuilder不是线程安全的。
7.Stringstr=i与Stringstr=newString(i)一样吗?
不一样。他们不是同一个对象
•Stringstr=i;这种方式会先在字符串池(StringPool)中查找是否存在值为i的字符串对象,如果不存在,则在字符串池中创建一个新的字符串对象,然后将引用赋给变量str。
•Stringstr=newString(i);这种方式则会强制在堆内存中创建一个新的字符串对象,并且不会检查字符串池中是否已经存在相同的字符串。即使字符串池中已经存在i这个字符串,仍
然会在堆内存中新建一个对象
8.抽象类必须要有抽象方法吗?
不是。抽象类可以没有抽象方法,但是如果你的一个类已经声明成了抽象类,即使这个类中没有抽象方法,它也不能再实例化,即不能直接构造一个该类的对象。如果一个类中有了一
个抽象方法,那么这个类必须声明为抽象类,否则编译通不过。
9.普通类和抽象类有哪些区别?
普通类可以直接实例化对象,而抽象类不能直接实例化,只能被用作其他类的父类,需要通过子类继承并实现抽象类中的抽象方法后才能创建对象。
10.接口和抽象类有什么区别
•接口是要被实现的,抽象类是要被继承;
•接口用interface修饰;抽象类使用abstract修饰;
•两者均不能被实例化,方法都不包含主体;
•一个类只能继承一个抽象类,但是可以实现多个接口。
11.java中IO流分为几种?
字节流:InputStream、OutputStream
字符流:Reader、Writer
字节流是最基本的
1.字节流可用于任何类型的对象,包括二进制对象,而字符流只能处理字符或者字符串;
2.字节流提供了处理任何类型的IO操作的功能,但它不能直接处理Unicode字符,而字符流就可以。
读文本的时候用字符流,例如txt文件。读非文本文件的时候用字节流,例如mp3。
12.BIO、NIO、AIO有什么区别?
•BIO:BlockingIO同步阻塞式IO
•NIO:NonblockingIO同步非阻塞IO
•AIO:AsynchronousIO异步非阻塞IO
BIO是一个连接一个线程。JDK4之前的唯一选择
文档评论(0)