JVM,JRE,JDK

JVM,JRE,JDK

原文链接:
1.https://blog.csdn.net/qq_21808961/article/details/80647551
2. https://www.cnblogs.com/yangming1996/p/8508187.html
3. https://www.cnblogs.com/sunxucool/p/3489314.html
4. https://blog.csdn.net/geyouchao/article/details/51669552
5. https://blog.csdn.net/Chaolei3/article/details/88028920

JVM

JVM是Java Virtual Machine(Java虚拟机)的缩写, 是JRE的一部分.

JVM只能识别.class文件(字节码文件).
java之所以能够实现跨平台就在于java面对不同操作系统时使用不同的虚拟机(JVM), 有 Linux 版本的JVM实现, 也有Windows 版本的JVM实现.可以看出JVM本身不具有跨平台性, 但不同平台的JVM可以将同一个.class文件解释并映射为本地CPU的机器指令或操作系统的系统调用, 以实现跨平台.

换句话说, JVM其实就是为了完成字节码文件和本地的机器指令之间的映射.

JRE

Java Runtime Environment(JRE)是运行JAVA程序所必须的环境的集合(java运行环境), 它主要包含两个部分, JVM 的标准实现和 Java 的一些基本类库. 简言之, JRE = JVM + 基本lib .

在Java平台下, 光有JVM还不能成class的执行,因为在解释class的时候JVM需要调用解释所需要的类库lib。所有的Java程序都需要在JRE下才能运行
它是针对java用户的.当我们只需要运行Java程序的时候, 在电脑上安装JRE即可,在JDK的安装目录里你可以找到jre目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib和起来就称为jre。
与JDK不同, 它不包含开发工具–编译器, 调试器和其它工具, 而这些只在JDK中才有.
所以,在你写完java程序编译成.class之后,你可以把这个.class文件和jre一起打包就可以运行你写程序了。

JDK

JDK(Java Development Kit)是整个Java的核心(是java开发工具包), 包括了Java运行环境JRE, Java工具(javac,java,jdb)和Java基础类库(即Java API).

它是用来开发Java程序的, 如果要进行java程序开发,就必须安装JDK, 它是针对java开发者的. 即JDK = JRE +开发工具.

下面简要介绍一下JDk的文件目录结构.
JDK,在其安装目录下面有六个文件夹、一些描述文件、一个src压缩文件。bin、include、lib、 jre这四个文件夹起作用,demo、sample是一些例子。可以看出来JDK包含JRE,而JRE包含JVM。
bin:最主要的是编译器(javac.exe)(JDK包含的一些开发工具执行文件)
include:java和JVM交互用的头文件
lib:类库(Java开发工具要用的一些库文件)
jre:java运行环境(注意:这里的bin、lib文件夹和jre里的bin、lib是不同的)

总的来说JDK是用于java程序的开发,而jre则是只能运行class而没有编译的功能。
JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE。所以安装了JDK,就不用在单独安装JRE了。 其中的开发工具包括编译工具(javac.exe)打包工具(jar.exe)等

JVM:将字节码文件转成具体系统平台的机器指令。
JRE:JVM+Java语言的核心类库。
JDK:JRE+Java的开发工具。

我们开发的实际情况是:我们利用JDK(调用JAVA API)开发了属于我们自己的JAVA程序后,通过JDK中的编译程序(javac)将我们的文本java文件编译成JAVA字节码,在JRE上运行这些JAVA字节码,JVM解析这些字节码,映射到CPU指令集或OS的系统调用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值