为了账号安全,请及时绑定邮箱和手机立即绑定

如果计算机里没有JVM能否运行JAVA程序?

如果计算机里没有JVM能否运行JAVA程序?

长风秋雁 2021-01-31 10:06:45
本人JAVA初学者。有三个问题。1,怎么理解JVM的含义。JVM所代表的虚拟机是平常的虚拟机的意思么?(既通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。)2.如果JVM的概念与普通虚拟机无异,那为什么说每台机子上都必须有一个JVM才能运行JAVA?虚拟机不就是真机的模拟版么?能在虚拟机上运行为何不能直接在真机上运行。3.如果一台计算机上没有JVM、或者JRE/JDK什么的,那这台机子就不能运行JAVA程序么?每台新机的WINDOS程序里都自带JVM或者JRE么?再补一个。其他编程语言的运行也需要他们自己的虚拟机么?希望分条回答
查看完整描述

2 回答

?
皈依舞

TA贡献1851条经验 获得超3个赞

1.JRE就已经包含了JVM,所以有人说没有JVM,有JRE就可以,这个说法非常错。你可以把你的JRE里的JVM去掉,看能不能运行JAVA程序。
编程就是写一个JAVA源程序,这个源程序首先必须有开发工具里面的javac.exe也就是编译器来把这个源程序翻译成后缀为.class的文件,这个.class文件的专业名词就是字节码文件,然后字节码文件才能在JVM上运行。你可以把JVM理解成酷狗音乐播放器,字节码文件理解成歌曲文件。歌曲文件只有在播放器上才能播放。
2.JVM和你说的普通虚拟机是不同的。我和你说下JVM,JRE,JDK的关系:
JVM可以说是运行环境,你也可以理解成电脑硬件
JRE在JVM之上多加了核心类库,这些核心类库就相当于操作系统。这样说JRE就包括了硬件和软件。
JDK在JRE基础之上就包含了开发工具,有了开发工具才能做新的程序。
3.windows没有自带的JVM,JRE,和JDK这些开发环境。如果要开发新的程序,你只需要安装一个JDK就可以了,他就包含了JVM和JRE

查看完整回答
反对 回复 2021-03-28
?
九州编程

TA贡献1785条经验 获得超4个赞

首先,java虚拟机和你理解的虚拟机不同。我们都知道java的跨平台性高,那么高在哪里呢。我们把java和c做个比较。首先c语言通过编译器、汇编器翻译出本电脑可以运行的机器代码。由于电脑有很多类型,就会有不同的机器代码格式,在你电脑上生成的代码在别的型号的电脑上就不能运行或是会出现错误。所以跨平台性低。
而java在此基础上进行了改进,先将源码翻译成一种叫做字节码的东西(类似于编译器中的中间代码),然后通过网络传输到要运行机器上,你根据自己的电脑型号下载了相应的jre,接受字节码后就会通过jre中的jvm翻译成这台电脑可以运行的机器码。这也就是我们所说的,一次编写,全部运行。当然,他也有缺点,电脑型号越多,就会有越多种jre,需要很多人来进行维护,花费很大。
另外,windows系统不带jre,不能运行java程序,需要自己进行下载。

查看完整回答
反对 回复 2021-03-28
  • 2 回答
  • 0 关注
  • 415 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信