JVM虚拟机—探究其所处位置
JVM 全称 Java Virtual Machine,名为java虚拟机。它能识别.class文件,并解析其中的指令,转换为操作系统的指令,调用操作系统完成操作。你可以理解为JVM是一个翻译器,将java代码翻译成计算机能够识别的指令。
JVM虽然能够翻译.class文件,但是没有.class文件它什么也做不了。所以我们会给它提供一个基本的类库,也就是JVM标准加上一堆基础类库,这些组成了java运行时环境,就是我们常说的JRE。
从广义上讲JVM是一种规范。从狭义来说,指的是是HotSpot 的JVM。常见的JVM又有以下几种。
-
Sun公司的HotSpot 是目前使用范围最广的Java虚拟机。
-
BEA公司的JRockit(原来的 Bea JRockit)电脑软件,系列产品是一个全面的Java运行时解决方案组合。
-
IBM公司的J9 VM 是一个高性能的企业级 Java 虚拟机。
当我们使用java命令运行.class文件时,JVM会翻译文件中的字节码(opcode),有解释执行、即时编译两种选择。编译后的.class文件会被放到metadata中等待被调用,这里会涉及到类加载器。
java代码的运行过程:Java 文件->编译器>字节码->JVM->机器码。