JDK、JRE、JVM三者间的关系
JDK、JRE、JVM三者间的关系
浮躁的码农 发表于2年前
JDK、JRE、JVM三者间的关系
  • 发表于 2年前
  • 阅读 162
  • 收藏 0
  • 点赞 1
  • 评论 0

腾讯云 新注册用户 域名抢购1元起>>>   

1、先说JRE,即java运行环境。既然是运行环境,那肯定是包含JVM的。JRE的安装目录的bin下有如下命令:

如上所示,只有一个java.exe,用来执行*.class文件的,并没有编译文件,因此是一个纯的java运行环境。

2、JDK即java开发工具包,包含JRE(仔细观察会发现JDK也包含了运行环境javac.exe)。它是专门为开发者提供的,为什么这么说?因为JDK包含了Java运行环境JRE(Java Runtime Envirnment)、一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API 包括rt.jar)。


以下是网络摘抄:

     1、JRE是运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。
  2、JVM是Java Virtual Machine(Java虚拟机)的缩写,是整个java实现跨平台的最核心的部分,能够运行以Java语言写作的软件程序。
  3、Java Runtime Environment(JRE)
  是运行基于Java语言编写的程序所不可缺少的运行环境。也是通过它,Java的开发者才得以将自己开发的程序发布到用户手中,让用户使用。
  RE中包含了Java virtual machine(JVM),runtime class libraries和Java application launcher,这些是运行Java程序的必要组件。
  与大家熟知的JDK不同,JRE是Java运行环境,并不是一个开发环境,所以没有包含任何开发工具(如编译器和调试器),只是针对于使用Java程序的用户。
  4、JVM(java virtual machine)
  就是常说的java虚拟机,它是整个java实现跨平台的最核心的部分,所有的java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行。
  也就是说class并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解释给本地系统执行。
  只有JVM还不能成class的执行,因为在解释class的时候JVM需要调用解释所需要的类库lib,而jre包含lib类库。
  JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。


共有 人打赏支持
粉丝 45
博文 511
码字总数 134307
×
浮躁的码农
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: