Java面试题大全(整理版)1000+面试题附答案详解,最全面详细

159 阅读2分钟

一、[Java 基础]

1.JDK 和 JRE 有什么区别?

jdk:java development kit

jre:java runtime Environment

jdk是面向开发人员的,是开发工具包,包括开发人员需要用到的一些类。

jre是java运行时环境,包括java虚拟机等,是提供给使用java的人用的

2.== 和 equals 的区别是什么?

==比较的是两个对象,包括对象的地址位,如果比较的两个对象地址位不同,值相同也会返回false

equals比较的是两个字符串的值,只要值相同,就会返回true

3.两个对象的 hashCode()相同,则 equals()也一定为 true,对吗?

不对,hashCode也是可以重写的,所以不一定。

反之,如果equals()相同,那么hashCode是一定相等的。

[4.final] 在 java 中有什么作用?

修饰类不可被继承;

修饰方法不可被重写;

修饰变量不能被修改。

5.JAVA 中的 Math.round(-1.5) 等于多少?

-1

向上取整Math.ceil();

向下取整Math.floor();

四舍五入Math.round(x); //==Math.floor(x+0.5)

6.String 属于基础的数据类型吗?

不属于,是final修饰的Java类。

java中的基本数据类型:byte、char、short、int、long、float、double、boolean

7.java 中操作字符串都有哪些类?它们之间有什么区别?

String、StringBuffer、StringBuilder

String类型的字符串是不可变的,StringBuffer和StringBuilder是可以对同一个对象做更新操作的

StringBuffer是线程安全的,StringBuilder不是线程安全的。

篇幅限制下面就只能给大家展示小册部分内容了。整理了一份核心面试笔记包括了:Java面试、Spring、JVM、MyBatis、Redis、MySQL、并发编程、微服务、Linux、Springboot、SpringCloud、MQ、Kafka 面试专题

需要全套面试笔记及答案【扫一扫】               即可免费获取**

71ff861663e6acbfdaba3676e0f7534.png

8.String str="i"与 String str=new String("i")一样吗?

不一样。他们不是同一个对象

前者如果定义多个变量都为相同值的话,会共用同一个地址,创建的对象应该放在了常量池中;

后者是创建了一个新的对象,放在的是堆内存中。

9.如何将[字符串反转]?

 使用StringBuffer 或 StringBuilder 的 reverse 成员方法。

10.String 类的常用方法都有那些?

"".toCharArray("");

"".charAt();

"".split();

"".indexOf();

"".equals();

"".contains();

"".length();

"".subString("");

"".replace("","");