万事知其然,要知其所以然,所以本节带大家来详细了解一下 Java 程序的执行过程。从《使用记事本编写运行Java程序》一节的案例可以看出,Java 程序的运行必须经过编写、编译和运行 3 个步骤。编写:是指在 Java 开发环境中进行程序代码的输入,最终形成后缀名为 .java 的 Java 源文件。

编译:是指使用 Java 编译器对源文件进行错误排査的过程,编译后将生成后缀名为 .class 的字节码文件,不像C语言那样生成可执行文件。

运行:是指使用 Java 解释器将字节码文件翻译成机器代码,执行并显示结果。

Java 程序运行流程如图 1 所示。

图 1 Java程序运行流程

字节码文件是一种和任何具体机器环境及操作系统环境无关的中间代码。它是一种二进制文件,是 Java 源文件由 Java 编译器编译后生成的目标代码文件。编程人员和计算机都无法直接读懂字节码文件,它必须由专用的 Java 解释器来解释执行,因此 Java 是一种在编译基础上进行解释运行的语言。

Java 解释器负责将字节码文件翻译成具体硬件环境和操作系统平台下的机器代码,以便执行。因此 Java 程序不能直接运行在现有的操作系统平台上,它必须运行在被称为 Java 虚拟机的软件平台之上。

Java 虚拟机(JVM)是运行 Java 程序的软件环境,Java 解释器是 Java 虚拟机的一部分。在运行 Java 程序时,首先会启动 JVM,然后由它来负责解释执行 Java 的字节码程序,并且 Java 字节码程序只能运行于 JVM 之上。这样利用 JVM 就可以把 Java 字节码程序和具体的硬件平台以及操作系统环境分隔开来,只要在不同的计算机上安装了针对特定平台的 JVM,Java 程序就可以运行,而不用考虑当前具体的硬件平台及操作系统环境,也不用考虑字节码文件是在何种平台上生成的。

JVM 把这种不同软、硬件平台的具体差别隐藏起来,从而实现了真正的二进制代码级的跨平台移植。JVM 是 Java 平台架构的基础,Java 的跨平台特性正是通过在 JVM 中运行 Java 程序实现的。Java 的这种运行机制可以通过图 2 来说明。

图 2 JVM工作方式

Java 语言这种“一次编写,到处运行”的方式,有效地解决了目前大多数高级程序设计语言需要针对不同系统来编译产生不同机器代码的问题,即硬件环境和操作平台的异构问题,大大降低了程序开发、维护和管理的开销。

提示:Java 程序通过 JVM 可以实现跨平台特性,但 JVM 是不跨平台的。也就是说,不同操作系统之上的 JVM 是不同的,Windows 平台之上的 JVM 不能用在 Linux 平台,反之亦然。

本文来自投稿,不代表访得立场,如若转载,请注明出处:http://www.found5.com//view/1171.html

java语言执行过程_Java程序的运行过程(执行流程)分析相关推荐

  1. 学习Java第一天:1、Java是什么?2、面向对象的编程思想的特点 3、Java的开发工具 4、安装JDK和配置环境变量 5、Java程序的运行过程 6、Java语言的特点

    目录 1.Java是什么? 2.面向对象的编程思想的特点 3.Java的开发工具 4.安装JDK和配置环境变量 5.Java程序的运行过程 6.Java语言的特点 1.Java是什么? java是一门 ...

  2. idea调试怎么跳出循环_使用IDEA的Debug调试功能,查看程序的运行过程

    Debug追踪,使用IDEA的断点调试功能,查看程序的运行过程 知乎视频​www.zhihu.com 1. 在有效代码行,点击行号右边的空白区域,设置断点,程序执行到断点将停止,我们可以手动来运行程序 ...

  3. hello程序的运行过程-从计算机系统角度

    hello程序的运行过程-从计算机系统角度 1.gcc编译器驱动程序读取源程序文件hello.c,并将它翻译成一个可执行目标文件hello.翻译过程分为四个阶段:预处理阶段,编译阶段,汇编阶段,链接阶 ...

  4. java查看日志命令_Java程序员必备:查看日志常用的linux命令

    前言 趁周末,复习一下鸟哥的linux私房菜,看了文件内容查阅部分,做个笔记,哈哈,希望对你有帮助哦. cat cat : 由第一行开始显示文件所有内容 参数说明cat[-AbEnTv] 参数: -A ...

  5. Java教程:Java程序的运行过程(执行流程)分析

    Java教程万事知其然,要知其所以然,所以本节带大家来详细了解一下 Java 程序的执行过程. 本篇文章由 泉州SEO www.234yp.com 整理发布,Java教程 www.234yp.com/ ...

  6. Java程序的运行过程(执行流程)分析

    Java 程序的运行必须经过编写.编译和运行 3 个步骤: 1.编写:是指在 Java 开发环境中进行程序代码的输入,最终形成后缀名为 .java 的 Java 源文件. 2.编译:是指使用 Java ...

  7. Java程序编译运行过程

    整体流程 1.首先由源程序文件编译成class文件.注意这里的源程序并不仅限于java程序,其他语言如果能够编译成class文件,并且符合jvm规范也能够在jvm上运行. 2.jvm将class文件拷 ...

  8. 编写java程序的常见问题_Java程序的编写与执行、Java新手常见的问题解决

    原标题:Java程序的编写与执行.Java新手常见的问题解决 今天,我们来写一段Java程序.然后看看Java程序是如何执行的,以及Java新手小白遇到的问题和解决办法. HelloWorld的编写 ...

  9. java程序编译_Java程序的编译过程

    Java的编译期是一个模糊的概念,需要具体分析. 将 *.java文件转为 *.class的过程称为编译器的前端(前端编译).例如:JDK的javac编译器. 把字节码( *.class文件) 转变为 ...

最新文章

  1. Nginx的配置文件
  2. VC中使用全局变量的2种办法及防错措施
  3. 2019入门级云主机选型测试报告
  4. GitHub 的简单使用
  5. 互联网之道,看电商的数据化管理方案
  6. 一个数据科学家对商学院的建议
  7. [sql]匹配标题中出现最多关键字的结果
  8. exls下载后显示jsp_jsp利用POI直接生成Excel并在页面提示打开下载
  9. Unbuntu学习笔记之安装vmware tools
  10. html 图片的缩略图,纯CSS制作缩略图片
  11. 全面认识scratch
  12. WEB前端应了解的NO.IE内核浏览器
  13. APP上架各大应用市场教程:所需材料与注意事项
  14. 一图看懂信用报告在线查询指南
  15. 强大的虚拟机软件vmware图文使用教程
  16. 什么是 Wi-Fi 6 (802.11ax)?为什么 Wi-Fi 6 很重要?
  17. 54款精品破解让你大过瘾
  18. 目标检测(3)—— 如何使用PyTorch加载COCO类型的数据集
  19. IIS 7.5 HTTP 错误 404.17 – Not Found 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理。
  20. Oracle ceil函数

热门文章

  1. CentOS 6.5下利用Rsyslog+LogAnalyzer+MySQL部署日志服务器
  2. Basic4android v3.50 发布
  3. 在Hyper-v中创建并安装虚拟机
  4. 巨额流量费其实可以避免
  5. vs设计窗口不见了_碳纤维的巅峰:VS沛纳海616V3
  6. Zookeeper Watch监听
  7. sqlserver2000给账户授予所有的权限_你的位置信息权限设置对了么?
  8. lvs负载均衡—NAT模式
  9. php a链接怎么传id_PHP函数参数的传递
  10. python字符串find_Python字符串| 带示例的find()方法