网站开发细节,重庆建设工程招标信息网站,网站建设设计基础,做网站的图片分类一、JVM是什么#xff1f;
JVM的英文全称是 Java Virtual Machine#xff0c;其中文译名为Java虚拟机。它在本质上就是是一个运行在计算机上的程序#xff0c;他的职责是运行Java字节码文件。
JVM执行流程如下 二、JVM有哪些功能#xff1f; 2.1 解释和运行 对字节码文…一、JVM是什么
JVM的英文全称是 Java Virtual Machine其中文译名为Java虚拟机。它在本质上就是是一个运行在计算机上的程序他的职责是运行Java字节码文件。
JVM执行流程如下 二、JVM有哪些功能 2.1 解释和运行 对字节码文件中的指令实时解释成机器码让计算机执行 2.2 内存管理 自动为对象、方法等分配内存 自动的垃圾回收机制回收不再使用的对象 相对C/C而言C/C无法自动回收垃圾 2.3 即时编译 对热点代码进行优化提升执行效率 什么是热点代码 即在应用中短时间内被多次调用的代码 即时编译功能非常重要Java语言如果不对此做优化其性能远不如C/C
why
请看如下编译对比所示 正是由于Java源代码需要先被编译生成字节码文件而后Jvm需要实时解释字节码文件为计算机所能理解的机器码而与此对比的C/C 源代码直接就可以通过编译和链接生成可执文件【机器码】故而Java的执行性能要远低于C/C
那为何Jvm需要实时解释字节码文件
为支持Java的跨平台性
JVM如何执行即时编译功能换而言之它是如何做到的
JVM在解释运行一个Java字节码文件时会将其“翻译”成汇编语言或机器代码特别地。它会针对其中的热点代码【字节码指令】保存到内存中等到下次要执行该热点代码时直接在内存中调用即可。 执行流程如下所示 三、有哪些常见的JVM 3.1 常见JVM 3.2 Java虚拟机规范 释义
所谓Java虚拟机的规范就是第三方厂家可以按照Oracle提供的JVM开发规范针对自己的产品特点对JVM进行二次开发
注意
《Java虚拟机规范》由Oracle制定内容主要包含了Java虚拟机在设计和实现时需要遵守的规范主要包含class字节码文件的定义、类和接口的加载和初始化、指令集等内容。 《Java虚拟机规范》是对虚拟机设计的要求而不是对Java设计的要求也就是说虚拟机可以运行在其他的语言比如Groovy、Scala生成的class字节码文件之上。 官网地址https://docs.oracle.com/javase/specs/index.html 3.3 HotSpot的发展历程