1.JVM JDK JRE 的区别?
1.首先说一下一个java的源程序(就是文件以.java结束的文件)是如何执行的?
(1)当我们开发好一个源程序之后(以Hello.java为例),Hello.java先要通过编译器去编译成字节码文件(即以.class结束的文件),字节码文件是不分平台的;
(2)然后字节码文件经过解析器解析后才能执行。而这个解析器是属于JVM的一部分。
2
2.再来分别解释一下JVM,JRE,JDK三者的概念:
(1)JVM是Java 虚拟机
(2)JDK是Java开发包
(3)JRE是Java运行环境
3
3.再来分析一下三者关系:
其中三者的关系是包含的,JRE包含JVM,JDK包含JRE。
JRE中已经有了Java虚拟机,JDK中也包含了Java运行环境。所以只要安装好了JDK之后,自然就弄好了JRE和JVM。
END
经验内容仅供参考,如果您需解决具体问
JAVA跨平台的原因?
解释:先理解跨平台含义:不依赖于操作系统,也不依赖硬件环境。
不同的系统下有不同的JVM(JVM是C语言写的),所以JVM不是跨平台的,没毛病。
JAVA依赖于JVM,JVM给JAVA提供了运行环境,所以JAVA是跨平台的。
3.java 解释执行的语言还是编译的语言
java的编译器先将其编译为class文件,也就是字节码;然后将字节码交由jvm(java虚拟机)解释执行;
所以很多地方都说“java是一种半编译、半解释执行”的语言;