一、jdk内容概述
当安装好jdk后(本示例jdk版本为11.0.1,不同版本,目录有细微差别,但bin目录包含的exe是一样的),打开bin目录,有两个重要的exe文件:javac.exe(编译器)
和java.exe(.class文件执行器),详细见下图
![](https://img.haomeiwen.com/i15535205/f4efbb7ce0afabdb.png)
二、原理分析
java程序执行过程分为两步,下图为流程示意图
第一步:将java源码(.java文件)通过编译器(javac.exe)编译成JVM文件(.class文件)
第二步:将JVM文件通过java.exe执行,输出结果
![](https://img.haomeiwen.com/i15535205/4c0c8ccd32ed9e2e.png)
通过如上分析,我们发现JVM至关重要,其向上屏蔽了操作系统的差异,也正因为JVM的该作用,才使java这门编程语言能够实现跨平台,
其原理大致可描述为如下:
![](https://img.haomeiwen.com/i15535205/05a9e1b560c9e764.png)
三、例子解析
通过两种方式来检测java程序执行过程,手写方式和编译器方式。
(一)手写java源程序
1. 用notepad++手写一个java程序,并保存为JavaRunProcess.java。
Tip:文件名尽量与类名一致
//测试java运行过程
public class JavaRunProcess {
public static void main(String[] args){
System.out.println("Test java Runing Process");
}
}
![](https://img.haomeiwen.com/i15535205/52c5ca07c80300e0.png)
2. 用javac.exe将刚保存的JavaRunProcess.java文件编译成JavaRunProcess.class文件
![](https://img.haomeiwen.com/i15535205/b5ddcc58bf890876.png)
3. java.exe执行JavaRunProcess.class文件,输出结果
![](https://img.haomeiwen.com/i15535205/197f1a9ec3520a1e.png)
(二)通过Intellij IDEA编写java源程序
如下图,当我们编译好JavaRunProcess源程序后,点击编译,就会产生JavaRunProcess.class文件
![](https://img.haomeiwen.com/i15535205/7d7e62f19db5974e.png)
四、一些小建议
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版本问题
![](https://img.haomeiwen.com/i15535205/c4286ed64b70af79.png)
不是每个人都能成为高手,但是不努力,就算有再高的天分,也白痴一个!如果你想学习 Java 工程化、高性能及分布式、高性能、深入浅出。性能调优、Spring,MyBatis,Netty 源码分析和大数据等知识点可以来找我。
工作一到五年的程序员朋友面对目前的技术无从下手,感到很迷茫可以加群:810589193,点击链接加入群聊【Java架构学习交流群】:https://jq.qq.com/?_wv=1027&k=5deQUBl里面有阿里Java高级大牛直播讲解知识点,分享知识,课程内容都是各位老师多年工作经验的梳理和总结,带着大家全面、科学地建立自己的技术体系和技术认知!
网友评论