对于刚入门的java新手来说,很容易被jvm、jdk、jre三者的概念弄得犯迷糊,理解起来也有点困难,那么接下来我来为大家介绍一下jvm、jdk、jre三者的区别是什么。
从概念上来讲,JDK可以理解为Java开发工具包,是Sun公司针对java开发人员的产品。Jdk是整个java开发的核心,它集成了jre和一些好用的小工具,比如javac.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。没有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、jre三者之间的区别,我们可以看出jdk包含jre,而jre包含jvm,在java开发中,因为他们的存在,才能让java程序运行和使用的顺利!
HelloWorld10-31 08:24
军哥08-12 23:29
江湖人称小李白12-10 10:41
IT逐梦者08-17 21:43
HelloWorld11-06 11:19