小米科技|看看96后小伙是怎么拿捏腾讯面试官拿到offer的( 三 )


03、请说出 Java 12 版本中更新的重要功能 。
Java 12 发布于 2019 年 3 月 19 日 , 更新的重要功能有:

  • JVM 更新;
  • File.mismatch() 方法;
  • 紧凑型数字格式;
  • String类新增了一些方法 , 比如说 indent() 。
04、请说出 Java 11 版本中更新的重要功能 。
Java 11 是继 Java 8 之后的第二个商用版本 , 如果你下载的是 Oracle JDK , 则需要进行付费;如果想继续使用免费版本 , 需要下载 OpenJDK 。

Oracle JDK 中会有一些 Open JDK 没有的、商用闭源的功能 。
Java 11 更新的重要功能有:
  • 可以直接使用 java 命令运行 Java 程序 , 源代码将会隐式编译和运行 。
  • String类新增了一些方法 , 比如说 isBlank()、lines()、strip() 等等;
  • Files类新增了两个读写方法 , readString() 和 writeString();
  • 可以在 Lambda 表达式中使用 var 作为变量类型 。
05、请说出 Java 10 版本中更新的重要功能 。
Java 10 更新的重要功能有:
  • 局部变量类型推断 , 举个例子 , var list = newArrayList(); , 可以使用 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 流;
  • JavaDate Time API;
  • 接口中可以使用默认方法和静态方法 。
08、请说出 Java 面向对象编程中的一些重要概念 。
  • 抽象
  • 封装
  • 多态
  • 继承
第二波

09、Java 声称的平台独立性指的是什么?
常见的操作系统有 Windows、Linux、OS-X , 那么平台独立性意味着我们可以在任何操作系统中运行相同源代码的 Java 程序 , 比如说我们可以在 Windows 上编写 Java 程序 , 然后在 Linux 上运行它 。
10、什么是 JVM?
JVM(Java Virtual Machine)俗称 Java 虚拟机 。 之所以称为虚拟机 , 是因为它实际上并不存在 。 它提供了一种运行环境 , 可供Java 字节码在上面运行 。
JVM 提供了以下操作:
  • 加载字节码
  • 验证字节码
  • 执行字节码
  • 提供运行时环境
JVM 定义了以下内容:
  • 存储区
  • 类文件格式
  • 寄存器组
  • 垃圾回收堆
  • 致命错误报告等
我们来尝试理解一下 JVM 的内部结构 , 它包含了类加载器(Class Loader)、运行时数据区(Runtime Data Areas)和执行引擎(Excution Engine) 。

1)类加载器
类加载器是 JVM 的一个子系统 , 用于加载类文件 。 每当我们运行一个 Java 程序 , 它都会由类加载器首先加载 。 Java 中有三个内置的类加载器: