2020 年最新版 Java 面试题大全(文末附参考答案)
Posted Java后端
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2020 年最新版 Java 面试题大全(文末附参考答案)相关的知识,希望对你有一定的参考价值。
前言
本套Java面试题大全总共分为以下这十三个模块:
-
Java基础知识面试题 -
Java异常面试题 -
JVM面试题 -
Spring面试题 -
Spring MVC面试题 -
Spring Boot面试题 -
Spring Cloud面试题 -
MyBatis面试题 -
Redis面试题 -
Dubbo面试题 -
Tomcat面试题 -
ZooKeeper面试题 -
Netty面试题
-
何为编程? -
什么是Java? -
jdk1.5之后的三大版本? -
JVM、JRE和JDK的关系? -
什么是跨平台性?原理是什么? -
Java语言有哪些特点? -
什么是字节码?采用字节码的最大好处是什么? -
什么是Java程序的主类?应用程序和小程序的主类有何不同? -
Java应用程序与小程序之间有那些差别? -
Java和C++的区别? -
Oracle JDK 和 OpenJDK 的对比?
①. 数据类型
-
Java有哪些数据类型 -
switch 是否能作用在 byte 上,是否能作用在 long 上,是否能作用在 String 上 -
用最有效率的方法计算 2 乘以 8 -
Math.round(11.5) 等于多少?Math.round(-11.5)等于多少 -
float f=3.4;是否正确 -
short s1 = 1; s1 = s1 + 1;有错吗?short s1 = 1; s1 += 1;有错吗
Java语言采用何种编码方案?有何特点?
③. 注释
什么Java注释
④. 访问修饰符
访问修饰符 public,private,protected,以及不写(默认)时的区别
⑤. 运算符
&和&&的区别
⑥. 关键字
-
Java 有没有 goto -
final 有什么用? -
final finally finalize区别 -
this关键字的用法 -
super关键字的用法 -
this与super的区别 -
static存在的主要意义 -
static的独特之处 -
static应用场景 static注意事项
⑦. 流程控制语句
-
break ,continue ,return 的区别及作用 在 Java 中,如何跳出当前的多重嵌套循环
①. 面向对象概述
面向对象和面向过程的区别
②. 面向对象三大特性
-
面向对象的特征有哪些方面 -
什么是多态机制?Java语言是如何实现多态的? 面向对象五大基本原则是什么(可选)
③. 类与接口
-
抽象类和接口的对比 -
普通类和抽象类有哪些区别? -
抽象类能使用 final 修饰吗? 创建一个对象用什么关键字?对象实例与对象引用有何不同?
④. 变量与方法
-
成员变量与局部变量的区别有哪些 -
在Java中定义一个不做事且没有参数的构造方法的作用 -
在调用子类构造方法之前会先调用父类没有参数的构造方法,其目的是? -
一个类的构造方法的作用是什么?若一个类没有声明构造方法,改程序能正确执行吗?为什么? -
构造方法有哪些特性? -
静态变量和实例变量区别 -
静态变量与普通变量区别 -
静态方法和实例方法有何不同? -
在一个静态方法内调用一个非静态成员为什么是非法的? 什么是方法的返回值?返回值的作用是什么?
⑤. 内部类
-
什么是内部类? -
内部类的分类有哪些 -
内部类的优点 -
内部类有哪些应用场景 -
局部内部类和匿名内部类访问局部变量的时候,为什么变量必须要加上final? 内部类相关,看程序说出运行结果
⑥. 重写与重载
-
构造器(constructor)是否可被重写(override) 重载(Overload)和重写(Override)的区别。重载的方法能否根据返回类型进行区分?
⑦. 对象相等判断
-
== 和 equals 的区别是什么 -
hashCode 与 equals (重要) 对象的相等与指向他们的引用相等,两者有什么不同?
⑧. 值传递
-
当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递 -
为什么 Java 中只有值传递 值传递和引用传递有什么区别
⑨. Java包
-
JDK 中常用的包有哪些 import java和javax有什么区别
4、IO流
-
java 中 IO 流分为几种? -
BIO,NIO,AIO 有什么区别? Files的常用方法都有哪些?
5、反射
-
什么是反射机制? -
反射机制优缺点 -
反射机制的应用场景有哪些? Java获取反射的三种方法
①. String相关
-
字符型常量和字符串常量的区别 -
什么是字符串常量池? -
String 是最基本的数据类型吗 -
String有哪些特性 -
String为什么是不可变的吗? -
String真的是不可变的吗? -
是否可以继承 String 类 -
String str="i"与 String str=new String("i")一样吗? -
String s = new String("xyz");创建了几个字符串对象 -
如何将字符串反转? -
数组有没有 length()方法?String 有没有 length()方法 -
String 类的常用方法都有那些? -
在使用 HashMap 的时候,用 String 做 key 有什么好处? String和StringBuffer、StringBuilder的区别是什么?String为什么是不可变的
③. 包装类相关
-
自动装箱与拆箱 -
int 和 Integer 有什么区别 -
Integer a= 127 与 Integer b = 127相等吗
8、常用工具类库
9、单元测试
二、Java异常面试题
1、Java内存区域
-
说一下 JVM 的主要组成部分及其作用? -
说一下 JVM 运行时数据区? -
深拷贝和浅拷贝? -
说一下堆栈的区别? 队列和栈是什么?有什么区别?
2、HotSpot虚拟机对象探秘
-
对象的创建 -
为对象分配内存 -
处理并发安全问题 对象的访问定位
3、内存溢出异常
Java会存在内存泄漏吗?请简单描述
4、垃圾收集器
-
简述Java垃圾回收机制 -
GC是什么?为什么要GC -
垃圾回收的优点和原理。并考虑2种回收机制 -
垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收? -
Java 中都有哪些引用类型? -
怎么判断对象是否可以被回收? -
在Java中,对象什么时候可以被垃圾回收 -
JVM中的永久代中会发生垃圾回收吗 -
说一下 JVM 有哪些垃圾回收算法? -
说一下 JVM 有哪些垃圾回收器? -
详细介绍一下 CMS 垃圾回收器? -
新生代垃圾回收器和老年代垃圾回收器都有哪些?有什么区别? 简述分代垃圾回收器是怎么工作的?
①. 简述java内存分配与回收策率以及Minor GC和Major GC
-
对象优先在 Eden 区分配 -
大对象直接进入老年代 长期存活对象将进入老年代
6、虚拟机类加载机制
-
简述java类加载机制? -
描述一下JVM加载Class文件的原理机制 -
什么是类加载器,类加载器有哪些? -
说一下类装载的执行过程? 什么是双亲委派模型?
7、JVM调优
-
说一下 JVM 调优的工具? 常用的 JVM 调优的参数都有哪些?
以上是关于2020 年最新版 Java 面试题大全(文末附参考答案)的主要内容,如果未能解决你的问题,请参考以下文章