关于JDK,JVM和JRE的区别

1.Java运行时环境(JRE):

  • 它包括Java虚拟机,Java核心类库和支持文件,JRE是Java运行环境,既然是运行,当然要包含jvm,并不是一个开发环境,所以没有包含任何开发工具(如编译器和调试器),只是针对于使用Java程序的用户

2.Java开发工具包(JDK):

  • 是完整的Java软件开发包,包含了jre,编译器和其他的工具:JavaDoc,Java调试器,可以让开发者开发,编译,执行Java应用程序。在JDK的安装目录下有一个名为jre的目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib和起来就称为jre

3.Java虚拟机(JVM):

  • 它是整个Java实现跨平台的最核心的部分,所有的Java程序会首先被编译为 .class 的类文件,这种类文件可以在虚拟机上执行,也就是说class并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解释给本地系统执行,只有jvm还不能成class的执行,因为在解释class的时候jvm需要调用解释多需要的类库lib,而jre包含lib类库

你可能感兴趣的:(开发,jvm,常见问题)