Java跨平台原理

Java跨平台原理

Java属于高级编程语言,高级语言编码运行步骤有:

  • 编写:指程序员编写源代码,比如HelloWorld.Java
  • 编译:指将源代码文件转化成机器认识的机器语言的过程
  • 运行:指通过编译后,将计算机执行编译后指令的过程

高级语言的编译方式分为三种:编译型解释型混合型

1)编译型

    使用专门的编译器,针对特定平台(操作系统)将某种高级语言源代码 一次性"翻译" 成可以被该平台硬件执行的 机器码 ,并包装成为该平台所能识别的可执行程序的格式(生成新文件),这个转换过程就是"编译" 。

    C、C++都属于编译型语言

2)解释型

    使用专门的解释器,将源程序逐行解释成特定平台的机器码,并立即执行(不会生成新文件)可以理解为,解释型语言相当于把编译型语言里面的编译和执行合并到了一起,同时进行 。

    优点是跨平台,缺点是效率低

    Python、Shell、Ruby都属于解释型语言

3)混合型

    Java语言是混合型(编译+解释)的代表

    首先它的源代码需要编译,生成与平台无关的字节码(.class)文件

    字节码文件不能直接执行,需要交给操作系统下的Java虚拟机(JVM)解释执行

    Java为不同的操作系统提供了不同的JVM虚拟机

Write Once, Run any Where!

跨平台原理:使用Java语言编写的源代码,不管在什么操作系统下编译,得到的都是相同的字节码文件,在不同的操作系统下使用不同的JVM解释执行这份字节码文件,程序成功运行,将会有相同的运行效果。简单来说就是:Windows系统编写的代码,可以拿到Linux系统中进行编译;Windows系统中编译好的字节码文件,可以拿到Linux系统中直接运行。

生活中类似案例:

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值