jdk和jre的关系和区别(jdk和jre有什么不同)
程序员文章站
2023-11-27 15:35:28
jvm(javavirtualmachine)就是一个虚拟的用于执行bytecode字节码的”虚拟计算机”。它也定义了指令集、寄存器集、结构栈、垃圾收集堆、内存区域。jvm负责将java字节码解释运行...
jvm(javavirtualmachine)就是一个虚拟的用于执行bytecode字节码的”虚拟计算机”。它也定义了指令集、寄存器集、结构栈、垃圾收集堆、内存区域。jvm负责将java字节码解释运行,边解释边运行,这样,速度就会受到一定的影响。
不同的操作系统有不同的虚拟机。(不同的系统要下载不同版本的linxe 、windows、 android的虚拟机)java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编写,随处运行(writeonce,runeverywhere)”。java虚拟机是实现跨平台的核心机制。如图1所示。
图1 不同的操作系统有不同的虚拟机
jre(javaruntimeenvironment)包含:java虚拟机、库函数、运行java应用程序所必须的文件。
jdk(javadevelopmentkit)包含:包含jre,以及增加编译器和调试器等用于程序开发的文件。
jdk、jre和jvm的关系如图所示。
图2 jdk、jre和jvm的关系
建议:
如果只是要运行java程序,只需要jre就可以。jre通常非常小,其中包含了jvm。
如果要开发java程序,就需要安装jdk。