2022Java八股文—全面解析Java平台

发表时间: 2022-03-17 19:37


Java技术体系

  • Java程序设计语言、Java API类库、Java虚拟机这三部分统称为JDK(Java Development Kit),JDK是用于支撑Java程序开发的最小环境;
  • 其中Java SE API、JVM和部署相关的类库可统称为JRE(Java Runtime Environment),JRE是支撑Java程序运行的标准环境;

Java程序的运行

  • 开发者写的Java代码会放在.java文件,也就是Java源文件。Java源文件通过javac编译生产字节码(.class)文件,也就是Java类文件;
  • Java虚拟机是在操作系统之上搭建的一个虚拟的计算机,实际上Java虚拟机就是操作系统里的一个进程。计算机的基本组成就是操作系统和硬件,硬件包括内存和逻辑计算单元,操作系统的核心模块包括内存管理、计算过程管理。对应的在Java虚拟机里也类似的概念:Java虚拟机内存管理和Java虚拟机执行子系统;
  • 在Java虚拟机执行子系统中,通过类加载器将字节码(.class)文件转译为对应的机器所能识别的机器码



Java的跨平台特性

Java所谓的“一次编译、到处执行”,关键就在于Java虚拟机和Java运行时类库构建的JRE,在每个类型的操作系统上,都能运行一个Java虚拟机和对应的运行时类库,这样就可以执行在别的地方编译出来的字节码文件了。


Java是解释执行吗

不完全是,Java代码的执行过程应该是二者的混合。Java源文件通过javac编译器将源文件编译为字节码,然后虚拟机在执行的过程中,逐步将字节码转化为对应的机器指令,这是解释执行,但是对于某些反复执行的字节码片段,会通过JIT提前编译成机器码,这就是编译执行了。

  • 解释运行:一边对程序进行翻译,翻译成计算机可以执行的指令,一边交给计算机执行,翻译一句执行一句。
  • 编译运行:对整个程序先翻译成计算机可以理解的指令,然后计算机可以直接执行。


相关面试题

  1. 谈谈你对Java平台的理解?
  2. JDK、JRE和JVM的区别是什么?
  3. Java所谓的“一次编译,到处执行”这句话如何理解?
  4. Java是解释执行,这句话正确吗?
  5. 一个Java程序是如何执行的?


硬核资料:关注即私信可领取行业经典书籍PDF。

技术互助:技术群大佬指点迷津,你的问题可能不是问题,求资源喊一声。

面试题库:由P8大佬们共同投稿,热乎的大厂面试真题,持续更新中。

知识体系:含编程语言、算法、大数据生态圈组件(Mysql、Hive、Spark、Flink)、数据仓库

看到最后点个赞吧感觉小编说的有点道理可以留个关注