【金三银四】Java基础知识面试题(2021最新版)

目录

前言

一、Java概述

1. 何为编程

2. 什么是Java

3. jdk1.5之后的三大版本

4. Jdk和Jre和JVM的区别

5. 什么是跨平台性?原理是什么

6. Java语言有哪些特点

7. 什么是字节码?采用字节码的最大好处是什么

8. 什么是Java程序的主类?应用程序和小程序的主类有何不同?

9. Java应用程序与小程序之间有那些差别?

10. Java和C++的区别

11. Oracle JDK 和 OpenJDK 的对比

二、基础语法

数据类型

12. Java有哪些数据类型

13. switch 是否能作用在 byte 上,是否能作用在 long 上,是否能作用在 String 上

14. 用最有效率的方法计算 2 乘以 8

15. Math.round(11.5) 等于多少?Math.round(-11.5)等于多少

16. float f=3.4;是否正确

17. short s1 = 1; s1 = s1 + 1;有错吗?short s1 = 1; s1 += 1;有错吗

编码

18. Java语言采用何种编码方案?有何特点?

注释

19. 什么Java注释

访问修饰符

20. 访问修饰符 public,private,protected,以及不写(默认)时的区别

运算符

21. &和&&的区别

关键字

22. Java 有没有 goto

23. final 有什么用?

24. final finally finalize区别

25. this关键字的用法

26. super关键字的用法

27. this与super的区别

28. static存在的主要意义

29. static的独特之处

30. static应用场景

31. static注意事项

流程控制语句

32. break ,continue ,return 的区别及作用

33. 在 Java 中,如何跳出当前的多重嵌套循环

三、面向对象

面向对象概述

34. 面向对象和面向过程的区别

面向对象三大特性

35. 面向对象的特征有哪些方面

36. 什么是多态机制?Java语言是如何实现多态的?

37. 面向对象五大基本原则是什么(可选)

38. 抽象类和接口的对比

39. 普通类和抽象类有哪些区别?

40. 抽象类能使用 final 修饰吗?

41. 创建一个对象用什么关键字?对象实例与对象引用有何不同?

变量与方法

42. 成员变量与局部变量的区别有哪些

43. 在Java中定义一个不做事且没有参数的构造方法的作用

44. 在调用子类构造方法之前会先调用父类没有参数的构造方法,其目的是?

45. 一个类的构造方法的作用是什么?若一个类没有声明构造方法,改程序能正确执行吗?为什么?

46. 构造方法有哪些特性?

47. 静态变量和实例变量区别

48. 静态变量与普通变量区别

49. 静态方法和实例方法有何不同?

50. 在一个静态方法内调用一个非静态成员为什么是非法的?

51. 什么是方法的返回值?返回值的作用是什么?

内部类

52. 什么是内部类?

53. 内部类的分类有哪些

54. 内部类的优点

55. 内部类有哪些应用场景

56. 局部内部类和匿名内部类访问局部变量的时候,为什么变量必须要加上final?

57. 内部类相关,看程序说出运行结果

重写与重载

58. 构造器(constructor)是否可被重写(override)

59. 重载(Overload)和重写(Override)的区别。重载的方法能否根据返回类型进行区分?

对象相等判断

60. == 和 equals 的区别是什么

61. hashCode 与 equals (重要)

62. 对象的相等与指向他们的引用相等,两者有什么不同?

值传递

63. 当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递

64. 为什么 Java 中只有值传递

65. 值传递和引用传递有什么区别

Java包

66. JDK 中常用的包有哪些

67. import java和javax有什么区别

四、IO流

68. java 中 IO 流分为几种?

69. BIO,NIO,AIO 有什么区别?

70. Files的常用方法都有哪些?

五、反射

71. 什么是反射机制?

72. 反射机制优缺点

73. 反射机制的应用场景有哪些?

74. Java获取反射的三种方法

六、常用API

String相关

75. 字符型常量和字符串常量的区别

76. 什么是字符串常量池?

77. String 是最基本的数据类型吗

78. String有哪些特性

79. String为什么是不可变的吗?

80. String真的是不可变的吗?

81. 是否可以继承 String 类

82. String str="i"与 String str=new String(“i”)一样吗?

83. String s = new String(“xyz”);创建了几个字符串对象

84. 如何将字符串反转?

85. 数组有没有 length()方法?String 有没有 length()方法

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

87. 在使用 HashMap 的时候,用 String 做 key 有什么好处?

88. String和StringBuffer、StringBuilder的区别是什么?String为什么是不可变的

包装类相关

89. 自动装箱与拆箱

90. int 和 Integer 有什么区别

91. Integer a= 127 与 Integer b = 127相等吗

最后


前言

在面试中,Dubbo 这个 RPC 框架的代表作一直是热点,而且面试官也会根据经验从各种角度提问,并且像剥洋葱一样层层深入底层原理,因此单纯看看常规的面试题是远远不足的,最好还是能够自己深入阅读源码。另一方面,程序猿在平时的工作中又很少接触到源码,而且自己硬啃源码也是困难重重。

小编分享的这份金三银四Java后端开发面试总结包含了JavaOOP、Java集合容器、Java异常、并发编程、Java反射、Java序列化、JVM、Redis、Spring MVC、MyBatis、MySQL数据库、消息中间件MQ、Dubbo、Linux、ZooKeeper、 分布式&数据结构与算法等26个专题技术点,都是小编在各个大厂总结出来的面试真题,已经有很多粉丝靠这份PDF拿下众多大厂的offer,今天在这里总结分享给到大家!【持续更新中!】

完整版Java面试题地址:2021最新面试题合集集锦

序号 专题 内容 链接地址
1 中间件 【金三银四】Java中间件面试题(2021最新版) https://blog.csdn.net/SQY0809/article/details/114002362
2 微服务 【金三银四】Java微服务面试题(2021最新版) https://blog.csdn.net/SQY0809/article/details/113923549
3 并发编程 【金三银四】Java并发编程面试题(2021最新版) https://blog.csdn.net/SQY0809/article/details/113895576
4  Java基础 【金三银四】Java基础知识面试题(2021最新版) https://blog.csdn.net/SQY0809/article/details/115146056
5 Spring Boot 【金三银四】Spring Boot面试题(2021最新版) https://blog.csdn.net/SQY0809/article/details/115186811
6  Redis 【金三银四】Redis面试题(2021最新版) https://blog.csdn.net/SQY0809/article/details/115188010
7  Spring MVC 【金三银四】Spring MVC面试题(2021最新版) https://blog.csdn.net/SQY0809/article/details/115220638
8 Spring Cloud 【金三银四】Spring Cloud面试题(2021最新版) https://blog.csdn.net/SQY0809/article/details/115220987
9 MySQL优化 【金三银四】MySQL优化面试题(2021最新版) https://blog.csdn.net/SQY0809/article/details/115254620
10 JVM 【金三银四】JVM性能调优面试题(2021最新版) https://blog.csdn.net/SQY0809/article/details/115283079
11 Linux 【金三银四】Linux面试题(2021最新版) https://blog.csdn.net/SQY0809/article/details/115283583
12 Mybatis 【金三银四】Mybatis面试题(2021最新版) https://blog.csdn.net/SQY0809/article/details/115285732
13 网络编程 【金三银四】TCP,UDP,Socket,Http网络编程面试题(2021最新版) https://blog.csdn.net/SQY0809/article/details/115464896
14 设计模式 【金三银四】设计模式面试题(2021最新版) https://blog.csdn.net/SQY0809/article/details/115466449
15 大数据 金三银四】大数据面试题100道(2021最新版) https://blog.csdn.net/SQY0809/article/details/115484939
16 Tomcat 【金三银四】Tomcat面试题(2021最新版) https://blog.csdn.net/SQY0809/article/details/115486648
17 多线程 【金三银四】多线程面试题(2021最新版) https://blog.csdn.net/SQY0809/article/details/115487212
18 Nginx 【金三银四】Nginx_BIO_NIO_AIO面试题(2021最新版) https://blog.csdn.net/SQY0809/article/details/115488446
19 memcache 【金三银四】memcache面试题(2021最新版) https://blog.csdn.net/SQY0809/article/details/115494213
20 java异常 【金三银四】java异常面试题(2021最新版) https://blog.csdn.net/SQY0809/article/details/115530401
21 Java虚拟机 【金三银四】Java虚拟机面试题(2021最新版) https://blog.csdn.net/SQY0809/article/details/115532365
22 Java集合 【金三银四】Java集合面试题(2021最新版) https://blog.csdn.net/SQY0809/article/details/115599284
23 Git常用命令 【金三银四】Git常用命令(2021最新版) https://blog.csdn.net/SQY0809/article/details/115602390
24 Elasticsearch 【金三银四】Elasticsearch面试题(2021最新版) https://blog.csdn.net/SQY0809/article/details/115604293
25 Dubbo 【金三银四】Dubbo面试题(2021最新版) https://blog.csdn.net/SQY0809/article/details/115605560

一、Java概述

1. 何为编程

2. 什么是Java

3. jdk1.5之后的三大版本

4. Jdk和Jre和JVM的区别

5. 什么是跨平台性?原理是什么

  • 所谓跨平台性,是指java语言编写的程序,一次编译后,可以在多个系统平台上运行。
  • 实现原理:Java程序是通过java虚拟机在系统平台上运行的,只要该系统可以安装相应的java虚拟机,该系统就可以运行java程序。

6. Java语言有哪些特点

  • 简单易学(Java语言的语法与C语言和C++语言很接近)
  • 面向对象(封装,继承,多态)
  • 平台无关性(Java虚拟机实现平台无关性)
  • 支持网络编程并且很方便(Java语言诞生本身就是为简化网络编程设计的)
  • 支持多线程(多线程机制使应用程序在同一时间并行执行多项任)
  • 健壮性(Java语言的强类型机制、异常处理、垃圾的自动收集等)
  • 安全性好

7. 什么是字节码?采用字节码的最大好处是什么

8. 什么是Java程序的主类?应用程序和小程序的主类有何不同?

9. Java应用程序与小程序之间有那些差别?

10. Java和C++的区别

11. Oracle JDK 和 OpenJDK 的对比

二、基础语法

数据类型

12. Java有哪些数据类型

13. switch 是否能作用在 byte 上,是否能作用在 long 上,是否能作用在 String 上

14. 用最有效率的方法计算 2 乘以 8

  • 2 << 3(左移 3 位相当于乘以 2 3 次方,右移 3 位相当于除以 2 3 次方)。

15. Math.round(11.5) 等于多少?Math.round(-11.5)等于多少

  • Math.round(11.5)的返回值是 12Math.round(-11.5)的返回值是-11。四舍五入的原理是在参数上加 0.5 然后进行下取整。

16. float f=3.4;是否正确

17. short s1 = 1; s1 = s1 + 1;有错吗?short s1 = 1; s1 += 1;有错吗

编码

18. Java语言采用何种编码方案?有何特点?

  • Java语言采用Unicode编码标准,Unicode(标准码),它为每个字符制订了一个唯一的数值,因此在任何的语言,平台,程序都可以放心的使用。

注释

19. 什么Java注释

访问修饰符

20. 访问修饰符 public,private,protected,以及不写(默认)时的区别

运算符

21. &和&&的区别

关键字

22. Java 有没有 goto

  • goto Java 中的保留字,在目前版本的 Java 中没有使用。

23. final 有什么用?

24. final finally finalize区别

25. this关键字的用法

  • 51
    点赞
  • 491
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值