Java程序语言的运行机制


title: Java程序语言的运行机制
tags:

高级语言的运行机制


程序的执行方式

  1. 编译型

编译型语言使用专门的编译器,针对特定的平台将某种高级语言源代码一次性“翻译”成可被该平台硬件执行的机器码,并包装成该平台的所能识别的可执行性程序的格式。编译生成的可执行程序可以脱离开发环境,在特定的平台上独立于行。如C、C++等

  1. 解释型

解释型语言使用专门的解释器对源程序进行逐行解释成特定平台的机器码,并立即执行的语言。又一个很大的优势:跨平台容易。

Java运行和JVM

Java语言编写的程序需要经过编译步骤,但这个变异的步骤不会产生特定平台的机器码,而是会生成一种与平台无关的字节码(*.class文件)。这个字节码不可以执行,需要通过Java解释器进行解释执行。

即Java语言不是纯粹的编译型语言,也不是纯粹的解释型语言。
Java语言必须经过先编译,再解释。

在这里插入图片描述
其中Java解释执行字节码文件的是Java虚拟机(JVM)。所有平台上的JVM向编译器提供相同的编程接口,而编译器只需要面向虚拟机,生成虚拟机能理解的代码,然后有虚拟机来解释执行。
那么相同的字节程序需要在不同平台运行,这几乎是很难的,所以,只有通过中间转换器才可以实现,而这个转换器就是JVM。
通俗的讲:
有两支笔(系统平台),需要把同一个笔帽(字节码文件)都能在这两支笔上套上(运行),那么只有这两支笔分别提供一个转换器(JVM),那么这个转化器向上的接口相同(接收同一个字节码文件),用于适用同一个笔帽;向下的接口不同,用于适用两支不同的笔。

故Java语言跨平台就是因为有这个转化器(JVM)!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值