随后,被装入的代码由字节码校验器进行检查 。校验器可发现操作数栈溢出,非法数据类型转化等多种错误 。通过校验后,代码便开始执行了 。
Java字节码的执行有两种方式:
1.即时编译方式:解释器先将字节码编译成机器码,然后再执行该机器码 。
2.解释执行方式:解释器通过每次解释并执行一小段代码来完成Java字节码程 序的所有操作 。
通常采用的是第二种方法 。由于JVM规格描述具有足够的灵活性,这使得将字节码翻译为机器代码的工作
具有较高的效率 。对于那些对运行速度要求较高的应用程序,解释器可将Java字节码即时编译为机器码,从而很好地保证了Java代码的可移植性和高性能 。
简述java语言的执行过程1、java编译生成的字节码java代码执行流程,在所有操作系统都是一样java代码执行流程 , 故其有这样的特点:
write once, run anywhere.其意思:只需要一次编码,就可以在任何环境下运行 。
2、不同的操作系统 , 其java 虚拟机是不一样的 。虚拟机将java字节代码转换对应操作系统的
相关指令,保证其正常运行 。
3、java 系统支持所有的硬件的平台 , 不存在java代码执行流程你提及的问题,你可以放心使用 。
4、解释器在java虚拟机中,编译器在JDK或JRE 中 。
5、java虚拟机就是常说的java 运行环境 , 其缩写是 JRE , 安装在操作系统下的一个目录中,
这个目录在安装时可以由你自行指定,就像你安装其它应用软件一样 。JDK中包含java代码执行流程了JRE,
还有开发环境,如编译器,帮助文档生成器,以及系统API的jar库文件等 。
java程序不能执行?Java程序的运行过程(执行流程)分析
1、编写:是指在 Java 开发环境中进行程序代码的输入,最终形成后缀名为 .java 的 Java 源文件 。
2、编译:是指使用 Java 编译器对源文件进行错误排査的过程,编译后将生成后缀名为 .class 的字节码文件,不像C语言那样生成可执行文件 。
3、运行:是指使用 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 的这种运行机制可以通过下图来说明 。
Java 语言这种“一次编写,到处运行”的方式 , 有效地解决了目前大多数高级程序设计语言需要针对不同系统来编译产生不同机器代码的问题,即硬件环境和操作平台的异构问题,大大降低了程序开发、维护和管理的开销 。
推荐阅读
- qq兴趣部落如何推广,兴趣部落怎么赚钱的
- flutter好用的包,flutter 包
- javascript开发的网站,javascript开发网站日志
- SQLserver数据库中删除表中元组,在数据库中删除元组
- 添加考勤记录java代码 添加考勤记录java代码是什么
- erp系统是什么时间出来的,erp系统什么样子
- 角色扮演游戏区架,角色扮演游戏游戏
- 陕西固态硬盘质量怎么样,ssd固态硬盘厂家
- python看函数源码 python怎么看函数源代码