JDK与JRE区别

JDK与JRE的区别与联系

含义:

JDK:Java Development Kit,简单来说就是面向开发人员用的软件开发包(Software Development Kit)

JRE:Java Runtime Enviroment,就是Java运行环境,面向Java程序的使用者,不是开发者

如果安装JDK,会同时安装两个Jre,一个在JDK所在目录中的/jre文件夹里,另一个在C:\Programe Files\Java目录下的Jre。

如果只安装Jre的话,那么就不会有JDK所在目录下的Jre,就只会有唯一一个C盘里的Jre

JRE的作用

Jre就好比于一个PC机,所有window应用程序都在PC机上运行,同样的所有的Java程序都在JRE上面运行。==Jre包含了Java虚拟机,Java基础类库等==,因此提供了运行Java的环境。

JDK的作用

JDK是提供给程序员使用的,JDK包含Jre,Javac编译器,还有很多Java程序调试和分析的工具

为什么JDK要使用两套JRE?

首先JRE是Java应用程序的运行环境,然后JDK里面的工具几乎都是Java编写的,所以也是Java应用程序,因此JDK目录下也要自附一套JRE,这是用来运行JDK里面的Java应用程序。而C盘下面的JRE是用来运行一般Java应用程序的。

还需要注意的是

  1. JVM:Java Virtual Machine。所有的Java程序都会被编译成.class文件,然后.class文件并不直接与计算机操作系统相对应,而是通过JVM与操作系统简介运行(详情看《深入分析JavaWeb技术内幕》以及《深入理解Java虚拟机》)
  2. JRE:Java Runtime Environment。光有JVM还不能成功执行.class文件,还需要一些类库lib。在安装JDK的目录下面找到JRE目录,里面有两个文件夹bin和lib,可以这样认为bin就是jvm,而lib就是jvm工作时所需要的类库,所以jre=jvm+lib,jvm=bin。==所以在写完Java程序编译成.class文件后,就可以把.class文件和jre一起打包给别人,别人就可以运行我的Java程序了(因为jre里面有运行.class文件的java.exe)==。
  3. JDK:Java Development Kit。看一下JDK的安装目录。
  • bin:最主要的编译器javac.exe
  • lib:类库
  • db:Java实现的数据库
  • include:java和JVM交互用的头文件
  • jre:JDK里面Java程序的运行环境。
  • src:src类库源码包

    真正运行Java时起作用的bin,include,lib,jre

附录

关于JDK详细的目录讲解请参考此链接JDk目录详解

关于上文的详细来源,请参考此博文JDK与Jre的区别

-------------本文结束感谢您的阅读-------------