Java 平台无关性的基石
java 在刚刚诞生之初就提出过一个非常著名的口号:“一次编写,到处运行”, 这句话充分表达了软件开发人员对冲破平台界限的渴望
在竞争激烈的 it 领域,各种不同的硬件体系结构和不同的操作系统肯定会长期并存发展。
“平台无关性” 的理想最终实现在操作系统的应用层上: sun 公司以及其他虚拟机提供商发布了许多可以运行在各种不同平台上的虚拟机,这些虚拟机都可以载入和执行同一种平台无关的字节码,从而实现了程序的“一次编写,到处运行”。
各种不同平台的虚拟机与所有平台都统一使用的程序存储格式——字节码是构成平台无关性的基石。
实现语言无关性的基础仍然是虚拟机和字节码存储格式。 java虚拟机不和包含java在内的任何语言绑定,它只和“class 文件”这种特定的二进制文件格式所关联,class 文件中包含了 java 虚拟机指令集和符号表以及若干其他辅助信息。
基于安全方面的考虑,java 虚拟机规范要求在 class 文件中使用许多强制性的语法和结构化约束,但任何一门功能性语言都可以表示为一个能被 java 虚拟机所接受的有效的 class 文件。
作为一个通用的、机器无关的执行平台,任何其他语言的实现者都可以将 java 虚拟机作为语言的产品交付媒介。
java 语言中的各种变量、关键字和运算符号的语义最终都是由多条字节码命令组合而成的,因此字节码命令所能提供的语义描述能力肯定会比 java 语言更加强大。
因此,有一些 java 语言本身无法有效支持的语言特性不代表字节码本身无法有效支持,这也为其他语言实现一些有别于 java 的语言特性提供了基础。
上一篇: JS基础速成(一)
下一篇: NodeJS整理学习
推荐阅读
-
TOMP开放式多业务平台能为我们带来哪些革命性的变化
-
Java开源生鲜电商平台-程序员的沟通的方式与方法
-
EpiiAdmin 开源的php交互性管理后台框架, 让复杂的交互变得更简单!Phper快速搭建交互性平台的开发框架,基于Thinkphp5.1+Adminlte3.0+Require.js。
-
我为什么要做很多人都认为扯蛋的综合性大型平台
-
JAVA 时间区间的字符串合法性验证
-
java的api文档在哪查看(开发者数据api开放平台)
-
java的api文档在哪查看(开发者数据api开放平台)
-
微信公众平台 客服接口发消息的实现代码(Java接口开发)
-
java 并发中的原子性与可视性实例详解
-
java中instanceof与Class的等价性代码示例