对于一个java程序的开发者而言,jdk,jre,jvm这三个东西你一定经常会听到 我们今天就来聊聊这三者之间的关系与区别
下面是它们三者之间的结构图 在这里使用大白话讲一下 1.本地计算机要装一个系统(Windows, Linux,mac) 2.接下来在电脑系统上装上jdk(java开发工具包) 3.在jdk里面包括了jre(java运行环境)和jvm(java虚拟机) 4.在jdk(java开发工具包)上安装的是我们智能化的java语言集成开发工具 (idea,Eclipse)
=细讲一下三者的概念 JDK(Java SE Development Kit),指的是Java标准开发包,它提供了编译、运行Java程序所需的工具和资源,JDK包括Java编译器、Java运行时的环境,以及常用的Java类库。
以jdk8来举一例子,打开jdk之后,你会看见如上图所示的4个主要的目录文件
它们分别是: bin: 在这里编译器(javac.exe) include: java与jvm进行交互的文件 jre:java的运行环境 lib:类库
jre(java运行环境),用来解释java的字节码文件,如果你是一个普通的计算机用户,只需要安装好jre就可以使自己的计算机可以运行java程序,然而程序的开发者为了可以编辑,调试程序必须安装好jdk jre包括了lib与bin(主要包含的文件)
JVM(Java Virtual Mechinal),Java虚拟机,是JRE的一部分。它是整个java实现跨平台的最核心的关键,负责解释执行字节码文件,是可运行java字节码文件的虚拟机。
当使用Java编译器编译Java程序时,生成的是与平台无关的字节码,这些字节码只面向JVM。不同平台的JVM都是不同的,但它们都提供了相同的接口。JVM是Java程序跨平台的关键部分,只要为不同平台实现了相应的虚拟机,编译后的Java字节码就可以在该平台上运行。
区别与联系
JDK 用于开发,JRE 用于运行java程序 JDk包含JRE,JDK 和 JRE 中都包含 JVM。 JVM 是 是可运行java字节码文件的虚拟机。
好了,今天就到这里了,希望对你有帮助 有问题私聊,不周之处请指教,谢谢
|