JVM
一、JVM架构图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
二、JVM程序执行流程
三、JIT使用
四、JDK、JRE、JVM的关系
关于 JDK、JRE、JVM 之间是什么关系,在 Java 平台标准中已经明确定义了。也就是上面的英文介绍部分。
- Oracle 有两个 Java 平台标准的产品,Java SE 开发工具包(JDK) 和 Java SE 运行时环境(JRE)。
- JDK(Java Development Kit Java开发工具包),JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE。所以安装了JDK,就不用在单独安装JRE了。其中的开发工具包括编译工具(javac.exe) 打包工具(jar.exe)等。
- JRE(Java Runtime Environment Java运行环境) 是 JDK 的子集,也就是包括 JRE 所有内容,以及开发应用程序所需的编译器和调试器等工具。JRE 提供了库、Java 虚拟机(JVM)和其他组件,用于运行 Java 编程语言、小程序、应用程序。
- JVM(Java Virtual Machine Java虚拟机),JVM可以理解为是一个虚拟出来的计算机,具备着计算机的基本运算方式,它主要负责把 Java 程序生成的字节码文件,解释成具体系统平台上的机器指令,让其在各个平台运行。
五、Client模式、Server模式
- Client模式:加载速度较快。可以用于运行GUI交互程序。
- Server模式:加载速度较慢但运行起来较快。可以用于运行服务器后台程序。
六、JVM模型
程序计数器
本地方法栈
虚拟机栈
元空间
常量池