所谓平台无关性,就是说要能够做到可以在多个平台上都能无缝对接。但是,对于不同的平台,硬件和操作系统肯定都是不一样的。对于不同的硬件和操作系统,最主要的区别就是指令不同。比如同样执行 a+b,A 操作系统对应的二进制指令可能是 10001000,而 B 操作系统对应的指令可能是 11101110。那么,想要做到跨平台,最重要的就是可以根据对应的硬件和操作系统生成对应的二进制指令。而这一工作,主要由我们的 Java 虚拟机完成。虽然 Java 语言是平台无关的,但JVM 却是平台有关的,不同的操作系统上面要安装对应的 JVM。
有了 Java 虚拟机,想要执行 a+b 操作,A 操作系统上面的虚拟机就会把指令翻译成 10001000,B 操作系统上面的虚拟机就会把指令翻译成 11101110。
所以,Java 之所以可以做到跨平台,是因为 Java 虚拟机充当了桥梁。他扮演了运行时 Java 程序与其下的硬件和操作系统之间的缓冲角色。
资料来源:《Java工程师成神之路(基础篇)》,链接:https://developer.aliyun.com/topic/download?id=923
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。