java中jvm、jdk、jre的区别是什么
2023-04-12 09:16:29
刚开始的对于java新手来说,java很容易被jvm使用、jdk、jre三者的概念令人困惑,理解起来有点困难。接下来我给大家介绍一下jvm、jdk、jre三者有什么区别?。
从概念上看,JDK可以理解为Java开发工具包,是Sun公司针对Java开发人员的产品。JDK是整个java它集成了开发的核心jre和一些好用的小工具,如javacc.exe、java.exe、jar.exe等。JRE是基于java语言编写程序不可缺少的操作环境。它主要包括两部分:jvm标准实现和java的一些基本类别库。与jvm相比,多余的部分是java类别库,但jre不包括任何开发工具,如编译器和调试器。JVM是我们常说的Java虚拟机。Jvm是Java跨平台的核心,它只知道.class类型的文件可以识别class文件中的字节码指令,并调用操作系统向上的API完成动作。
如下图所示,我们可以看到它们之间的大小关系:jdk>jre>jvm。Java语言的开发和运行离不开java的运行环境。没有jre的支持,java语言就无法运行。如果你想编译java程序,你仍然需要jdk的支持。Jre还包括jvm。
从用户的角度来看,JDK用于Java开发者,JRE和JVM用于Java程序的用户。
在jdk安装目录中,我们可以看到,jdk下的jre有两个文件夹,即lib和bin。我们可以把bin文件夹看作是jvm。lib文件夹是jvm工作所需的类库,jvm和lib的组合是jre。jdk目录下有五个文件夹,分别是bin、db、include、lib、jre、db。bin是编译器;db可以在任何平台上运行;include是java和jvm交互的第一个文件;lib是常用的类库;jre是java运行环境。
根据以上知识jvm、jdk、我们可以看到jdk包含jre,jre包含jvm。在java开发中,由于它们的存在,java程序可以顺利运行和使用!