JVM知识图谱
2025-04-30 15:57:57 0 举报
AI智能生成
JVM(Java虚拟机)是运行Java字节码的核心,提供了跨平台执行环境。它包括内存管理、垃圾回收、多线程、安全性和执行机制等关键组件。类型信息中,类加载器负责从文件系统或网络中加载Class文件到内存,并将这些文件转换成元数据和其他在方法区中存储的结构。JVM的堆是运行时数据区域的内存池,存放对象实例,分代管理,包含新生代和老年代。栈是JVM在执行方法时,存储局部变量、方法调用等信息的空间。JVM还包括执行引擎,负责执行字节码指令,通过即时编译器(JIT)将热点代码转为本地机器码提高效率,以及解释器直接执行非热点代码。在Java 9以后,JVM还引入了模块化系统,支持Java平台模块化系统(JPMS)以改善封装性。JVM是Java平台安全的关键,依赖于类加载机制和Java的安全模型,为执行的Java应用提供隔离和沙箱保护。修饰语包含“虚拟化”、“多线程安全”、“模块化”、“运行时环境”,突显其运行机制的多样性和功能的广泛性。
作者其他创作
大纲/内容
JVM基础知识
JVM的编译到执行
Java程序的执行过程
JVM、JRE、JDK 的关系
JVM的作用
从跨平台到跨语言
JVM的发展
class文件规范于字节码指令
实际上,Java 官方实际上只定义了JVM的一种执行规范,也就是class文件的组织规范。理论上,只要你能够写出一个符合标准的class文件,就可以丢到 JVM 中执行。至于这个class文件是怎么来的,JVM 虚拟机是不管的。这也是 JVM 支持多语言的基础。
常量池
常量池中的索引结构是从 1 开始的,而不是像 Java 中其他地方一样,从 0 开始。这样做的目的在于,如果后面某些指向常量池的索引值的数据在特定情况下需要表达“不引用任何一个常量池项目”的含义,就可以把索引值设定为 0 表示。
JVM执行代码逻辑
Java 当中的静态方法可以重载吗?
如何确定一个方法需要多大的操作数栈和局部变量?
方法调用的底层实现
Java语法糖及实现
执行过程
虚拟机的本质就是把这些class文件转换为操作系统的指令
0 条评论
下一页