Java跨平台原理:Java程序实际是在Java虚拟机(JRE是软件实现)中运行,Java虚拟机类似一个模拟执行环境,在不同的操作系统上拥有不同的Java虚拟机实现,但是这些Java虚拟机遵循统一的规范来解释class文件,并将class文件中的指令转换为本地操作系统对应的指令,这样就实现了相同的class文件,可以通过Java虚拟机转换为对应操作系统上的对应指令,实现class文件,也就是Java程序,的跨平台性。
Java虚拟机 JVM(Java Virtual Machine)负责Java程序的运行 。
JRE包括JVM和Java程序所需要的类库,如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。
JDK(原是SUN公司的,现在是Oracle公司的)是提供给Java开发人员用的,其中包含了Java开发工具和JRE,其中开发工具包含编译工具(javac.exe) 打包工具(jar.exe)
JDK包含JRE是因为Java开发完的程序,需要运行一下看看效果。
总而言之,JDK包括JRE和Java开发工具,比如编译工具javac.exe,打包工具jar.exe。JRE包含JVM和类库。