时间:2021-05-19
Java虚拟机(JVM)是可运行Java代码的假想计算机。只要根据JVM规格描述将解释器移植到特定的计算机上,就能保证经过编译的任何Java代码能够在该系统上运行。java编译器把java编译成字节码,也就是.class文件,然后JVM给编译成的字节码提供运行环境。java的源代码是无法直接在JVM上运行的。
Java语言写的源程序通过Java编译器,编译成与平台无关的‘字节码程序'(.class文件,也就是0,1二进制程序),然后在OS之上的Java解释器中解释执行。 也相当与 注:JVM(java虚拟机)包括解释器,不同的JDK虚拟机是相同的,解释器不同。
JVM:是java的核心和基础,在java编译器和os平台之间的虚拟处理器。它是一种利用软件方法实现的抽象的计算机基于下层的操作系统和硬件平台,可以在上面执行java的字节码程序。java编译器只要面向JVM,生成JVM能理解的代码或字节码文件。Java源文件经编译成字节码程序,通过JVM将每一条指令翻译成不同平台机器码,通过特定平台运行。
JVM执行程序的过程: I.加载。class文件 II.管理并分配内存 III.执行垃圾收集 JRE(java运行时环境)由JVM构造的java程序的运行环境编译时运行时。
如处理器、堆栈(Stack)、寄存器等,还具有相应的指令系统(字节码就是一种指令格式)。JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需要生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。JVM是Java平台无关的基础。JVM负责运行字节码:JVM把每一条要执行的字节码交给解释器,翻译成对应的机器码,然后由解释器执行。JVM解释执行字节码文件就是JVM操作Java解释器进行解释执行字节码文件的过程。
到此这篇关于java编译器和JVM的区别的文章就介绍到这了,更多相关java编译器和JVM有什么区别内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
前言毫无疑问,Java8是Java自Java5(发布于2004年)之后的最重要的版本。这个版本包含语言、编译器、库、工具和JVM等方面的十多个新特性。Java8
概述Java程序从创建源文件到程序运行要经历两个主要步骤:源文件编译器编译>字节码文件(ByteCode)。字节码文件JVM解释运行>在内存中运行Java程序从
本讲将介绍Java代码是如何一步步运行起来的,其中涉及的编译器,类加载器,字节码校验器,解释器和JIT编译器在整个过程中是发挥着怎样的作用。此外还会介绍Java
c#的泛型没有类型通配符,原因是.net的泛型是CLR支持的泛型,而Java的JVM并不支持泛型,只是语法糖,在编译器编译的时候都转换成object类型类型通配
本文将是JVM性能优化系列的第二篇文章(第一篇:传送门),Java编译器将是本文讨论的核心内容。本文中,作者(EvaAndreasson)首先介绍了不同种类的编