zoukankan      html  css  js  c++  java
  • Java的平台无关性

    转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/10829912.html

    一:程序需要转化为机器指令执行

        无论哪种编程语言编写的程序都需要经过 操作系统 和 CPU 来完成程序的运行,而机器只能识别0、1组成的机器指令,因此,程序在机器上运行前需要先编译成为机器能识别的机器指令。

        不同的平台能识别的机器指令不同,因此某种语言编译出来的机器指令在A平台能别识别和执行,在B平台就有可能会出错。

        因此,一旦更换了平台,就可能需要修改源程序,并针对新的平台重新编译源程序,这就是我们所说的“平台相关性”。

    二:Java语言的平台无关性

        Java在平台与程序之间,提供了一个 向下兼容(对平台兼容) 同时 又可以向上兼容(程序可以运行)的运行环境——JRE【Java运行时】。

        JRE由Java虚拟机[JVM],类库和一些核心文件组成,任何平台只要安装了JRE,就可以运行Java程序

        

    三:“一次编译,到处运行”

        Java语言提供的编译器  针对Java虚拟机  把Java源程序编译成“字节码”,然后Java虚拟机负责将字节码翻译成虚拟机所在平台的机器码,并让当前平台运行该机器码。

        因此,在一个计算机上编译得到的字节码文件(就是.class文件),可以复制到任何一个安装了Java运行环境的计算机上直接运行。

        这个过程就是“源程序——>编译——>字节码——>JVM——>对应平台的机器码——>执行”。

    四:JVM支持10种语言

      Java:主人公。

      kotlin:Kotlin比Java更加简洁和安全, 可以将Kotlin视为是一种“更加简单但高效的Java”。Kotlin的编译速度通常比Java代码快,目前大多用于Android开发。

      Scala:Scala的全称叫scalable,可伸缩的意思。它是个纯正的面向对象语言,并且具备函数式编程特性,由于构建在jvm之上的,他可以和Java进行无缝对接,也就是说scala可以使用Java的类库,java有可以使用scala程序。

                     目前scala主要用于为大规模数据处理而设计的快速通用的计算引擎——Spark。

      Clojure

      Groovy

      Jython

      JRuby

      Ceylon

      Eta

      Haxe

  • 相关阅读:
    中国历史年代史的一些总结-缕清上下五千年
    struts2 自己定义表单
    "What's New" WebPart in SharePoint
    Tomcat+Servlet登录页面实例
    JAVA原始的导出excel文件,快捷通用 方便 还能够导出word文档哦
    Android开发 -- Bootloader
    NorFlash、NandFlash、eMMC比较区别【转】
    strspn() 和 strcspn() 函数【转】
    Device Tree(一):背景介绍【转】
    设备树使用手册【转】
  • 原文地址:https://www.cnblogs.com/ygj0930/p/10829912.html
Copyright © 2011-2022 走看看