字节码文件的跨平台性

在这里插入图片描述
Java 语言是跨平台的(write once, run anywhere)当 Java 源代码成功编译成字节码后,如果想在不同的平台上面运行, 则无须再次编译但是 这个优势不再那么吸引人了。Python、PHP、Perl、Ruby、Lisp 等有强 大的解释器 ,跨平台似乎已经快称为一门语言必选的特性Java 虚拟机:跨语言的平台Java 虚拟机不和包括 Java 在内的任何语言绑定,它只与"Class 文件"这 种特定的二进制文件格式所关联。无论使用何种语言进行软件开发, 只要能 将源文件编译为正确的 Class 文件,那么这种语言就可以在 Java 虚拟机上执行,可以说,统一而强大的 Class 文件结构,就是 Java 虚拟机的基石、桥梁。1606747481563JVM的特性所有的 JVM 全部遵守 Java 虚拟 机规范,也就是说所有的 JVM 环境都是一样的, 这样一来字节码文件可以在 各种 JVM 上进行。 JVM官方文档规范: https://docs.oracle.com/javase/specs/index.html,想要让一个 Java 程序正确地运行在 JVM 中,Java 源码就是必须要被编译 为符合 JVM 规范的字节码 ,所以在把java文件转换为 JVM可以识别的Class文件,需要编译器的完成,也就是javac, 称为前端编译器前端编译器的主要任务就是负责将符合 Java 语法规范的 Java 代码转换为 符合 JVM 规范的字节码文件javac 是一种能够将 Java 源码编译为字节码的前端编译器javac 编译器在将 Java 源码编译为一个有效的字节码文件过程中经历了 4 个步骤,分别是词法分析、语法分析、语义分析以及生成字节码。1606747794010Oracle 的 JDK 软件包括两部分内容(对应上图):一部分是将 Java 源代码编译成 Java 虚拟机的指令集的编译器另一部分是用于实现 Java 虚拟机的运行时环境

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值