java合并单元格编译为exe文件后出错_浅析Java程序的执行过程

590565b66c04de623c59030f42ce6323.png

一 、jdk内容概述

当安装好jdk后(本示例jdk版本为11.0.1,不同版本,目录有细微差别,但bin目录包含的exe是一样的),打开bin目录,有两个重要的exe文件:javac.exe(编译器)和java.exe(.class文件执行器),详细见下图:

6fa0d370de1d3286d16e4d60f2700df2.png

二 、原理分析

java程序执行过程分为两步,下图为流程示意图。

第一步:将java源码(.java文件)通过编译器(javac.exe)编译成JVM文件(.class文件)

第二步:将JVM文件通过java.exe执行,输出结果

6b3d4e75ff5e0a5283a113b87d23a560.png

通过如上分析,我们发现JVM至关重要,其向上屏蔽了操作系统的差异,也正因为JVM的该作用,才使java这门编程语言能够实现跨平台,其原理大致可描述为如下:

4a900a15b30144755b97deca332c2e16.png

三、例子解析

通过两种方式来检测java程序执行过程,手写方式和编译器方式。

(一) 手写java源程序

  1. 用notepad++手写一个java程序,并保存为JavaRunProcess.java。

Tip:文件名尽量与类名一致

//测试java运行过程

9060ed16626835091cf4b89c6b60ee3f.png

2. 用javac.exe将刚保存的JavaRunProcess.java文件编译成JavaRunProcess.class文件

8668418384dd0dcfffa20e87206a211d.png

3. java.exe执行JavaRunProcess.class文件,输出结果

e7a9812d89698950ef018f84d239ec6f.png

(二)通过Intellij IDEA编写java源程序

如下图,当我们编译好JavaRunProcess源程序后,点击编译,就会产生JavaRunProcess.class文件

d1f1a510ae5cbad3c85ae79bc923d36f.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 FilesJavajdk-11.0.1
PATH:%JAVA_HOME%bin
Tip:这样配置好处是,当在同一台电脑配置多个jdk时,方便jdk的切换(当切换jdk时,只需改变JAVA_HOME变量接口)

3. 注意jdk版本问题

3be2cf4840cf957b605b8ab676bb0d4c.png

转自:浅析java程序的执行过程 - Alan_beijing - 博客园

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值