JVM、JRE和JDK的关系
首先我们要知道JVM、JRE和JDK三者之间的关系:
JVM
Java Virtual Machine是Java虚拟机,Java程序需要运行在虚拟机上,不同的平台有自己的虚拟机,因此Java语言可以实现跨平台。
JRE
Java Runtime Environment包括Java虚拟机和Java程序所需的核心类库等。核心类库主要是java.lang包:包含了运行Java程序必不可少的系统类,如基本数据类型、基本数学函数、字符串处理、线程、异常处理类等,系统缺省加载这个包如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。
JDK 和 JRE 有什么区别?
JDK: Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境。
JRE: Java Runtime Environment 的简称,java 运行环境,为 java 的运行提供了所需环境。
具体来说 JDK 其实包含了 JRE,同时还包含了编译 java 源码的编译器 javac,还包含了很多 java 程序调试和分析的工具。简单来说:如果你需要运行 java 程序,只需安装 JRE 就可以了,如果你需要编写 java 程序,需要安装 JDK。
JDK
Java Development Kit是提供给Java开发人员使用的,其中包含了Java的开发工具,也包括了JRE。所以安装了JDK,就无需再单独安装JRE了。其中的开发工具:编译工具(javac.exe),打包工具(jar.exe)等
JVM&JRE&JDK关系图
JDK包含JRE和JVM、JRE包含JVM。 其中Java的跨平台性靠的是JVM实现
JAVA跨平台工作原理图
java的源代码文件是.java文件,通过编译器将.java文件编译成.class文件,然后虚拟机将.class文件解释成对应平台能识别的机器语言,使得代码得以运行。
简单理解 .Java是给人看的 为了方便机器运行程序编译成.Class给机器看
.Java
.class
在.class文件中我们可以看到小彩蛋"cafe babe" java的logo: