zoukankan      html  css  js  c++  java
  • Java如何实现跨平台

    在前面讲解编程语言的时候我们看到,通过引入编译器,解决了使用机器语言编程带来的问题。但这有待来了另一个问题:不同的平台(你可以理解成CPU不同、操作系统不同)所能理解的二进制机器指令是不一样的,编译器只能针对某个特定目标平台进行编译,一旦编译完成生成的可执行程序只能在目标平台上运行,换到其它平台就不能运行了。

    针对这一问题,Java使用了另一种方案,这也是Java的一大特色:“write once, run anywhere”,即“一次编译,到处运行”。就是说你不用专门为每个平台写一份代码,你写的Java程序在任何平台都能跑起来。基本思路大概是这样的:

    Java跨平台原理

    从上图可以看出,在不同类型的系统上又安装了一个与系统对应的软件工具——虚拟机(Java Virtual Machine,简称JVM),这个就是跨平台的关键。Java程序的运行流程是:程序员写了源代码(.java后缀),然后经过编译器(javac)编译成字节码文件(.class后缀,二进制文件,跨平台),字节码是所有虚拟机都能理解的中间文件。软件想要在哪个平台运行,就把.class文件交给该平台的虚拟机去运行。虚拟机不跨平台,每个平台都有对应的虚拟机。所以对“write once, run anywhere”更准确的理解是,“一次编译,到处装虚拟机,所以到处运行”。

  • 相关阅读:
    选修课作业专栏
    js字符串和数组方法总结
    转Y-slow23原则(雅虎)
    前端优化总结和技巧(原创)
    阿里dom操作题
    基本的dom操作方法
    html5中的postMessage解决跨域问题
    mark一篇文章--用nodejs搭建一个本地反向代理环境
    html5语义化标签总结二
    转html5语义化标签总结一
  • 原文地址:https://www.cnblogs.com/bayes/p/9634021.html
Copyright © 2011-2022 走看看