一 、jdk内容概述
当安装好jdk后(本示例jdk版本为11.0.1,不同版本,目录有细微差别,但bin目录包含的exe是一样的),打开bin目录,有两个重要的exe文件:javac.exe(编译器)和java.exe(.class文件执行器),详细见下图:
二 、原理分析
java程序执行过程分为两步,下图为流程示意图。
第一步:将java源码(.java文件)通过编译器(javac.exe)编译成JVM文件(.class文件)
第二步:将JVM文件通过java.exe执行,输出结果
通过如上分析,我们发现JVM至关重要,其向上屏蔽了操作系统的差异,也正因为JVM的该作用,才使java这门编程语言能够实现跨平台,其原理大致可描述为如下:
三、例子解析
通过两种方式来检测java程序执行过程,手写方式和编译器方式。
(一) 手写java源程序
- 用notepad++手写一个java程序,并保存为JavaRunProcess.java。
Tip:文件名尽量与类名一致
//测试java运行过程public class JavaRunProcess { public static void main(String[] args){ System.out.println("Test java Runing Process"); }}
2. 用javac.exe将刚保存的JavaRunProcess.java文件编译成JavaRunProcess.class文件
3. java.exe执行JavaRunProcess.class文件,输出结果
(二)通过Intellij IDEA编写java源程序
如下图,当我们编译好JavaRunProcess源程序后,点击编译,就会产生JavaRunProcess.class文件
四、一些小建议
1. 在配置jdk环境变量时,一般需要配置三个参数:JAVA_HOME,PATH和CLASSPATH,在jdk 1.5后,可以不用配置CLASSPATH变量;
2. 在配置jdk变量JAVA_HOME和PATH变量时,它们之间应配置为这样关系:JAVA_HOME变量存储jdk安装路径,PATH变量引用JAVA_HOME变量
JAVA_HOME:C:\Program Files\Java\jdk-11.0.1
PATH:%JAVA_HOME%\bin
Tip:这样配置好处是,当在同一台电脑配置多个jdk时,方便jdk的切换(当切换jdk时,只需改变JAVA_HOME变量接口)
3. 注意jdk版本问题