先解释一下都是什么意思吧
JDK(Java Development Kit),Java开发工具包,JDK是整个java开发的核心,为什么呢,因为jvm是jre的一部分,jre又是jdk的一部分。
JRE(Java Runtime Environment),也叫做Java运行时环境。它主要包含两个部分:jvm的标准实现和Java基本类库。它相对于jvm来说,多出来的一部分是java类库。
JVM(Java Virtual Machine)也叫做Java虚拟机。它只能识别class字节码文件。通过识别字节码文件中的指令然后调用操作系统的API完成java程序要干的事情。至于当前是哪个操作系统,JVM自己会识别,所以说JVM是Java能够跨平台的基础。
显然三者的关系是:JDK>JRE>JVM,我们来看看windows上jdk的安装目录吧
第一个是jdk的安装目录,里面包含jdk和jre(这个jre其实是多余的,不装也可以,都是刚学的时候跟着教程装的吧)
第二个是打开jdk文件夹,里面有一个jre(这个jre跟上面哪个jre是一模一样的)
第三个是打开jre文件夹(这里面的bin就是jvm的标准实现,lib是java的类库)
如果这台机器是用来开发的那你装jdk就可以了,如果这台机器是用来运行java程序的那你装jre就行了
最后说一下java跨平台的特点吧
跨平台的意思是说:代码一次编写多次运行。还是原来的代码但是却可以在不同的平台上运行。
java程序是运行在jvm上的不是操作系统,java程序被编译成class字节码文件,jvm读取class文件的指令,并识别当前的操作系统因该调用什么API,最终使java程序能够在不同平台上运行