笔记01 Jvm介绍,主要组成部分

JVM(Java Virtual Machine)是Java虚拟机的缩写,它是Java程序运行的基础。JVM是一个虚拟的计算机环境,它在物理计算机上模拟了一个独立的计算机系统,使得Java程序可以跨平台运行。

JVM的主要组成部分包括:

  1. Class Loader(类加载器):负责将Java字节码文件(.class文件)加载到内存中,并生成对应的类对象。

  2. Execution Engine(执行引擎):执行引擎负责执行加载到内存中的字节码指令。它有两种常见的执行方式:解释执行和即时编译执行。

  3. Runtime Data Areas(运行时数据区域):运行时数据区域是JVM中用于存储数据的区域。主要包括方法区、堆、栈、本地方法栈和程序计数器。

    • 方法区(Method Area):用于存储类的结构信息(如类的字段、方法信息等)和静态变量。
    • 堆(Heap):用于存储对象实例和数组。
    • 栈(Stack):用于存储局部变量、方法参数、操作数栈等。
    • 本地方法栈(Native Method Stack):用于存储调用本地方法的相关信息。
    • 程序计数器(Program Counter):用于记录当前线程执行的字节码指令位置。
  4. Native Method Interface(本地方法接口):提供了与本地代码(如C、C++等)进行交互的接口。

  5. Native Method Libraries(本地方法库):包含了与操作系统相关的本地方法的实现。

JVM的主要作用是将Java字节码转换为机器码并执行,提供了平台无关性、垃圾回收、内存管理、线程管理等功能,使得Java程序可以在不同平台上运行。

需要注意的是,不同厂商的JVM可能在实现上有所差异,但遵循了Java虚拟机规范(Java Virtual Machine Specification),保证了Java程序在不同的JVM上的兼容性。