JVM vs JRE
Java是一种跨平台编程语言。它还坚持“编写一次,随处运行”的原则。用Java编写的程序可以由Java编译器编译成Java字节码。然后,字节码可以在运行JRE (Java Runtime Environment)的任何平台上执行。JRE包括JVM (Java虚拟机)、基库(实现Java API)和其他支持文件。JVM是一个抽象计算机器,充当特定于平台的JRE和Java代码之间的中介。
JVM是什么?
JVM是一种虚拟机,机器使用它来执行Java字节码。根据Sun Microsystems(开发Java直到最近被Oracle收购)的数据,世界上有超过40亿个支持JVM的设备。更具体地说,Java虚拟机是在标准硬件和操作系统上实现的抽象计算机。JVM提供的一个重要功能是自动异常处理。通常,JVM附带一组标准库。实际上,JRE是一个包含JVM和实现Java API的类的包。JVM是一个非常重要的组件,它适应了Java编程语言“编译一次,随处运行”的特性。只要JVM在运行,您的Java代码就可以在它上面运行,而不管机器中使用的平台是什么。这就是为什么Java被称为跨平台或多平台语言。
JRE是什么?
JRE是运行Java代码的执行环境。通常,JRE由JVM、标准基类(实现基本Java API)和其他支持文件组成。JRE的类型和结构因操作系统和CPU体系结构而异。当Java代码运行时,JRE将与操作系统通信,而操作系统又将与相应的硬件组件通信。在您的系统上安装JRE是在您的机器上运行任何java代码的必要条件。但是,JRE不包括编译器、调试器或开发Java程序所需的任何其他工具(如appltviewer和javac)。如果您需要用Java开发程序,您需要有JDK (Java开发工具包),它也包括JRE。
JVM和JRE之间有什么区别?
尽管在日常使用中,术语JVM和JRE是可以互换使用的,但它们也有不同之处。JVM是运行在操作系统之上的虚拟机,而JRE是运行时执行环境。JVM是JRE的一部分。JVM规范充当特定于平台的JRE实现和标准Java库之间的链接。因此,JVM是向程序员提供内部实现细节的抽象的实体。它负责解释编译后的字节码。但是,JVM需要基本库和其他支持文件来执行java字节码。但有时,JRE被简单地标识为JVM的实现。
留下一个回复