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