Java开发运行平台
JavaSE组成概念图
通过上图,可以看出,Java SE可以分成3个主要的部分
JVM(Java Virtual Machine, Java 虚拟机)
JVM可以理解为一个虚拟的机器,具备计算机基本运算方式。它主要负责将Java程序生成的和平台无关的字节码文件解释成能在具体平台上的机器指令。
JRE(Java Runtime Environment, Java 运行时环境)
JRE = JVM + 解释器 + Java核心类库
如果想要运行一个开发好的Java程序,只需在计算机中安装JRE即可。
JDK(Java Development Kit, Java 开发工具包)
JDK = JRE + 开发工具(编译器、调试器、其他工具…)+ 开发类库
JDK是提供给Java开发人员使用的,其中包含了java的开发工具。也包含了JRE。所以安装了JDK,就不用在单独安装JRE了。
简单的说就是JDK包含JRE,JRE包含JVM
Java程序执行过程
上图描述了Java程序执行的大致步骤。
编写source code,并将其存储在硬盘当中。
在命令行中使用javac命令启动Java Compiler对source code进行编译。并生成目标文件(即.class file)。
在命令行中使用java命令,启动JRE。JRE Class Loader会自动从硬盘中读取用户的.class File以及Java API中的.class File(有时候还包括用户导入的工具类jar包,其实也是一种字节码文件),并将他们全部载入系统分配的内存区域——Runtime Date Areas(运行数据区)。
执行引擎启动,完成对.class文件的解释或者编译,转化成特定平台的机器码。CPU执行机器码,完成底层调用等一系列工作。
类加载器(Class Loader)