本文阐述了JVM的构成和组件,配图清晰易懂,是学习Java开发者的入门必读文章。
每个Java开发人员都知道字节码经由JRE(Java运行时环境)执行。但他们或许不知道JRE其实是由Java虚拟机(JVM)实现,JVM分析字节码,解释并执行它。作为开发人员,了解JVM的架构是非常重要的,因为它使我们能够编写出更高效的代码。本文中,我们将深入了解Java中的JVM架构和JVM的各个组件。
JVM
虚拟机是物理机的软件实现。Java的设计理念是WORA(Write Once Run Anywhere,一次编写随处运行)。编译器将Java文件编译为Java .class文件,然后将.class文件输入到JVM中,JVM执行类文件的加载和执行的操作。请看以下的JVM架构图:
JVM是如何工作的?
如上面架构图所示,JVM分为三个主要子系统:
-
类加载器子系统(Class Loader Subsystem)
-
运行时数据区(Runtime Data Area)
-
执行引擎(Execution Engine)
1. 类加载器子系统
Java的动态类加载功能由类加载器子系统处理,处理过程包括加载和链接,并在类文件运行时,首次引用类时就开始实例化类文件,而不是在编译时进行。在面试中被问到并发知识的时候,大多