资讯专栏INFORMATION COLUMN

【精致Java教程】02:Java的跨平台原理

Genng / 3283人阅读

摘要:它的实现原理是在系统层面上又增加了一层虚拟机,简称,且为每个平台都定制了对应的虚拟机。然后程序是在虚拟机上跑的,因此平台无关。

Java的一大特色就是“write once, run anywhere”即“一次编译,到处运行”。就是说你不用专门为每个平台写一份代码,你写的Java程序在任何平台都能跑起来。

它的实现原理是在系统层面上又增加了一层虚拟机(Java Virtual Machine,简称JVM),且为每个平台都定制了对应的虚拟机。然后Java程序是在虚拟机上跑的,因此平台无关。

Java的运行流程是:程序员写了源代码(Source Code,.java后缀,跨平台),然后经过编译器编译成字节码(Byte Code,.class后缀,二进制文件,跨平台),字节码是所有虚拟机都能理解的中间文件。然后交给虚拟机(不跨平台,每个平台都有对应的虚拟机)去运行。
所以对“write once, run anywhere”更准确的理解是,“一次编译,到处装虚拟机,所以到处运行”。

整个流程如下图所示。

注:因为我的文章的假想读者是纯新人,所以编译器和虚拟机这两部分我用黑色做背景代表神秘的黑科技,暂时不需要管这里面发生了什么。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/65738.html

相关文章

  • 精致Java教程】03:安装JDK和配置Java环境变量

    摘要:运行环境,它是程序运行的所必需的环境集合。安装下一步下一步即可,要记得安装路径。配置环境变量安装完以后需要对系统的环境变量进行配置才能开发。之所以不能运行是因为装类之后还得配置环境变量。 在了解了Java历史、特性、作用和跨平台原理之后,我们可以开始为Java开发做准备工作了,只是在此之前我们还需要了解Java的两大基础概念JDK(Java Development kit)和JRE(J...

    CoyPan 评论0 收藏0
  • 精致Java教程】01:认识Java

    摘要:小组最开始由两名程序员和,一名工程师三人组成,后续有人员扩充。其中是最具代表性的人物,如今被称为语言之父。后于年月日对外公布这门编程语言,标志着的诞生。官方宣称全世界有万开发者。数据显示目前处于榜首。 欢迎你来到Java的世界,作为Java的第一篇文章不可免俗的要做一次介绍,这些东西往往比较枯燥所以我尽可能写的有故事趣味一点。对于初学者历史或者特性的东西浏览一遍有所了解即可,即使不知所...

    keithxiaoy 评论0 收藏0
  • 精致Java教程】04:第一个Java程序,HelloWorld!

    摘要:配置好开发环境之后,我们来写第一个程序。注原谅我这里只贴了张截图,因为我觉得第一个程序你最好自己敲而不是复制粘贴。运行程序现在命令行窗口输出了一句,如下图好了,恭喜你,你已经是一名程序员了,太腻害了。注是编译器,是运行器。 配置好开发环境之后,我们来写第一个Java程序。 Step1:敲代码 可以在任意目录,为了方便管理我在D盘下新建了一个Source文件夹专门放代码,又在Source...

    Kylin_Mountain 评论0 收藏0
  • 求职准备 - 收藏集 - 掘金

    摘要:一基础接口的意义百度规范扩展回调抽象类的意义想不想通过一线互联网公司面试文档整理为电子书掘金简介谷歌求职记我花了八个月准备谷歌面试掘金原文链接翻译者 【面试宝典】从对象深入分析 Java 中实例变量和类变量的区别 - 掘金原创文章,转载请务必保留原出处为:http://www.54tianzhisheng.cn/... , 欢迎访问我的站点,阅读更多有深度的文章。 实例变量 和 类变量...

    cuieney 评论0 收藏0
  • Java教程(多态性)

    多态性 多态性的字典定义是指生物学中的原理,其中生物体或物种可以具有许多不同的形式或阶段,这个原则也可以应用于面向对象的编程和像Java语言之类的语言,类的子类可以定义它们自己的唯一行为,但仍然共享父类的一些相同功能。 可以通过对Bicycle类的微小修改来演示多态性,例如,可以将printDescription方法添加到显示当前存储在实例中的所有数据的类中。 public void printD...

    J4ck_Chan 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<