首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Java语言跨平台原理

Java语言跨平台原理

作者头像
Cikian.
发布2022-09-22 11:50:31
发布2022-09-22 11:50:31
6560
举报
文章被收录于专栏:Cikian技术站Cikian技术站

一、平台和跨平台

我们这里所说的“平台”指的是操作系统,如我们常见的Windows、MacOS、Linux等。

“跨平台”指的是同样的Java程序可以在所有平台上面运行,并且运行结果相同

二、跨平台原理

举个例子:有三个人A,B,C,A只会说并且只听得懂a语言,B只会说并且只听得懂b语言,C只会说并且只听得懂c语言,如果A想和B、C交流,那么他们直接对话是行不通的,因为他们说的话互相都听不懂。那么,如果他们之间一定要交流,此时在他们之间就需要一个“翻译”把他们之间说的话翻译成对方能听懂的话。

这里面,A、B、C就相当于不同的平台,他们说的话相当于运行的程序,如果没有任何处理,Windows平台的程序是不能直接运行在MacOS或者Linux上的。

而Java之所以能“跨平台”运行,是因为JVM(Java虚拟机)的存在,JVM在不同平台间就充当着“翻译”的角色。

我们只需要针对不同的平台安装不同的JVM,便可在不同的平台运行相同的代码,并且得到相同的结果。

三、注意

  1. 跨平台运行不是Java程序能在所有的平台上运行,关键是该平台是否能安装相应的虚拟机,也就是能不能找到对应的“翻译”;
  2. Java源程序经过编译器编译后变成字节码(.class文件,Android 中是 .dex文件),字节码由JVM解释执行,字节码只面向虚拟机,虚拟机将每一条要执行的字节码送给解释器,解释器将其翻译成特定机器上的机器码(二进制码),然后在特定的机器上运行。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-03-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、平台和跨平台
  • 二、跨平台原理
  • 三、注意
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档