• JVM、JRE和JDK的理解


    JVM

       JVM,全称为Java Virtual Machine,中文的意思是:Java虚拟机。
       在理解Java虚拟机这个定义之前,我们先讲讲为何叫虚拟机呢?称为虚拟机,顾名思义,它应该不是真实存在的。那它是什么呢?在这里,我们把它理解为一种规范(就像国家颂布的法律,它只是条文,只是规则,是概念上的东西),这种规范告诉了代码如何能够在实际计算机上运行。
       接下来,我们再把Java这个名词和虚拟机加在一起,然后大家就很自然地会这样理解:Java虚拟机就是告诉了Java代码如何能够在实际计算机上运行的一种规范。
       其实,理解到这,已经可以说理解了80%,更准确的理解是,这里的Java指的是“Java字节码”,因为,JVM不仅仅只为Java设计,其他编程语言,只要我们把它编译成Java字节码,都可以在支持Java虚拟机运行的计算机上运行。
       最后,我们得到更正确的理解:“Java虚拟机是指定了Java字节码如何能够在实际计算机上运行的一种规范”。

       目前,实现了JVM,除了主流的Oracle 公司的HotSpot VM,还有其他公司研发的JVM,如:IBM公司研发的J9 VM、基于OpenJDK深度定制的Taobao JVM,等等。

    JRE

       JRE,全称为Java Runtime Environment,中文意思是:Java运行时环境

       JRE包含了HotSpot VM,并且还包含了一系列的库文件以及JVM在运行时使用的其他配置文件,为Java应用程序提供运行时环境。

    JDK

       JDK,全称为Java Development Kit,中文意思是:Java开发工具包。

       JDK包含了JRE以及开发Java应用程序要用的开发工具(如javac.exe、javadoc.exe等)。

    JVM、JRE和JDK之间的关系

  • 相关阅读:
    paip.禁用IKAnalyzer 的默认词库.仅仅使用自定义词库.
    paip.语义分析分词常见的单音节字词 2_deDuli 单字词 774个
    IFL嵌入式小组技术博客入口导航
    devc++5.0.0.9的调试方法
    getch()、getche()和getchar()之间的区别
    devc++5.0.0.9的调试方法
    声明和定义的区别
    IFL嵌入式小组技术博客入口导航
    C/C++程序到内存分配个人总结
    getch()、getche()和getchar()之间的区别
  • 原文地址:https://www.cnblogs.com/springmorning/p/10256791.html
Copyright © 2020-2023  润新知