【Java基础】java程序的运行机制与JVM

目录

 

javac编译、java解释

JVM

JDK、JRE


javac编译、java解释

执行Java程序的两个步骤:使用javac编译,使用java解释执行

 

编译:编译器是把源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样运行时计算机可以直接以机器语言来运行此程序,速度很快。

解释:解释器则是只在执行程序时,才一条一条的解释成机器语言给计算机来执行,所以运行速度是不如编译后的程序运行的快的。 解释具有良好的动态特性和可移植性,执行效率低,占用空间大。

 

由Java编写的程序需要经过编译步骤,但是这个编译步骤并不会生成特定平台的机器码,而是生成一种与平台无关的字节码(*.class文件)。这种字节码是不会执行的,必须使用Java解释器来解释执行。所以说Java语言既是编译型语言,也是解释型语言。

JVM

Java语言里负责解释执行字节码文件的是Java虚拟机,JVM (Java Virtual Machine)。

当使用Java编译器编译Java程序时,生成的是与平台无关的字节码,这些字节码不面向任何具体平台,只面向JVM。

不同平台上的JVM是不同的,但他们都向编译器提供了相同的接口。

JVM是Java跨平台的关键部分,只要为不同平台实现了相应的虚拟机,编译后的Java字节码就可以在该平台上运行。

image.png

JDK、JRE

如果需要开发Java程序,需要安装JDK,安装了JDK就包含了JRE(Java Runtime Environment)。

如果只想运行Java程序,只安装JRE(JRE包含JVM)即可,但是不能开发Java程序。

image.png

image.png

 

 

 

 

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值