31道Java核心面试题,一次性打包送给你(1)

二哥,你好,找工作找了仨月,还没有找到,很焦虑,我该怎么办呢?你那有没有 Java 方面的面试题可以分享一波啊?

以上是读者田田给我发的私信,看完后于我心有戚戚焉啊,最近境况确实不容乐观,并非是个人的原因造成的。那,既然需要面试题,二哥就义不容辞,必须得准备一波。


这次我花了一周的时间,准备了 31 道 Java 核心面试题,希望能够帮助到田田,以及其他和田田类似情况的读者朋友。


(后续我打算再花一周时间,更新第二波,同样有 31 道,敬请期待)


01、请说出 Java 14 版本中更新的重要功能


Java 14 发布于 2020 年 3 月 17 日,更新的重要功能有:


switch 表达式

instanceof 增强表达式,预览功能

文本块,第二次预览

Records,预览功能

刚好我之前写过一篇文章,关于 Java 14 的开箱体验,很香,读者朋友需要的话,可以点下面的链接看一看。


Java 14 开箱,它真香香香香


02、请说出 Java 13 版本中更新的重要功能


Java 13 发布于 2019 年 9 月 17 日,更新的重要功能有:


文本块,预览功能

switch 表达式,预览功能

Java Socket 重新实现

FileSystems.newFileSystem() 方法

支持 Unicode 12.1

可伸缩、低延迟的垃圾收集器改进,用于返回未使用的内存


03、请说出 Java 12 版本中更新的重要功能


Java 12 发布于 2019 年 3 月 19 日,更新的重要功能有:


JVM 更新

File.mismatch() 方法

紧凑型数字格式

String 类新增了一些方法,比如说 indent()


04、请说出 Java 11 版本中更新的重要功能


Java 11 是继 Java 8 之后的第二个商用版本,如果你下载的是 Oracle JDK,则需要进行付费;如果想继续使用免费版本,需要下载 Open JDK。


31道Java核心面试题,一次性打包送给你(1)


Oracle JDK 中会有一些 Open JDK 没有的、商用闭源的功能。


Java 11 更新的重要功能有:


可以直接使用 java 命令运行 Java 程序,源代码将会隐式编译和运行。

String 类新增了一些方法,比如说 isBlank()、lines()、strip() 等等。

Files 类新增了两个读写方法,readString() 和 writeString()。

可以在 Lambda 表达式中使用 var 作为变量类型。


05、请说出 Java 10 版本中更新的重要功能


Java 10 更新的重要功能有:


局部变量类型推断,举个例子,var list = new ArrayList<String>();,可以使用 var 来作为变量类型,Java 编译器知道 list 的类型为字符串的 ArrayList。

增强 java.util.Locale。

提供了一组默认的根证书颁发机构(CA)。


06、请说出 Java 9 版本中更新的重要功能


Java 9 更新的重要功能有:


模块系统

不可变的 List、Set、Map 的工厂方法

接口中可以有私有方法

垃圾收集器改进


07、请说出 Java 8 版本中更新的重要功能


Java 8 发布于 2014 年 3 月份,可以说是 Java 6 之后最重要的版本更新,深受开发者的喜爱。


函数式编程和 Lambda 表达式

Stream 流

Java Date Time API

接口中可以使用默认方法和静态方法

我强烈建议点开上面的链接阅读以下,以正确理解这些概念。


08、请说出 Java 面向对象编程中的一些重要概念


抽象

封装

多态

继承


09、Java 声称的平*立性指的是什么?


常见的操作系统有 Windows、Linux、OS-X,那么平*立性意味着我们可以在任何操作系统中运行相同源代码的 Java 程序,比如说我们可以在 Windows 上编写 Java 程序,然后在 Linux 上运行它。


上一篇:领会String类诞生的奥妙 | 带你学《Java面向对象编程》之二十八


下一篇:linux shell数据重定向(输入重定向与输出重定向)详细分析