1. jvm是什么
JVM(Java Virtual Machine)是 Java 程序的运行环境,它是 Java 技术的核心组成部分,负责执行编译后的 Java 字节码(.class文件)。
jvm 说白了就是虚拟机,一个专门运行java字节码文件的虚拟机。
JVM 的主要特点包括:
平台无关性:通过"一次编写,到处运行"(Write Once, Run Anywhere)的理念,使Java程序可以在不同操作系统上运行
自动内存管理:提供垃圾回收机制(Garbage Collection)自动管理内存
安全性:提供沙箱安全模型,限制Java程序的权限
多语言支持:不仅支持Java,还支持Scala、Kotlin、Groovy等JVM语言
2. jvm的组成和运行流程
JVM主要由以下三个子系统组成:
1. 类加载子系统(Class Loader Subsystem)
负责加载、链接和初始化类文件
包含三种类加载器:
启动类加载器(Bootstrap ClassLoader)
扩展类加载器(Extension ClassLoader)
应用程序类加载器(Application ClassLoader)
2. 运行时数据区(Runtime Data Areas)
方法区(Method Area):存储类结构信息
堆(Heap):存储对象实例
Java栈(Java Stack):存储方法调用和局部变量
程序计数器(PC Register):记录当前线程执行的位置
本地方法栈(Native Method Stack):支持本地方法执行
3. 执行引擎(Execution Engine)
解释器(Interpreter):逐行解释执行字节码
即时编译器(JIT Compiler):将热点代码编译为本地机器码
垃圾回收器(Garbage Collector):自动回收不再使用的内存
下一章