JDK,JRE,JVM分别是什么?

JDK(Java Development Kit) 是 Java 语言的软件开发工具包(SDK)。

      JDK包含的基本组件包括:

    1.       javac – 编译器,将源程序转成字节码
    2.       jar – 打包工具,将相关的类文件打包成一个文件
    3.       javadoc – 文档生成器,从源码注释中提取文档
    4.       jdb – debugger,查错工具
    5.       java – 运行编译后的java程序(.class后缀的)
    6.       appletviewer:小程序浏览器,一种执行HTML文件上的Java小程序的Java浏览器。
    7.       Javah:产生可以调用Java过程的C过程,或建立能被Java程序调用的C过程的头文件。
    8.       Javap:Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。
    9.       Jconsole: Java进行系统调试和监控的工具

JRE(Java Runtime Environment,Java运行环境),运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。

     包括两部分:

          Java Runtime Environment:

                  是可以在其上运行、测试和传输应用程序的Java平台。

                  它包括Java虚拟机(jvm)、Java核心类库和支持文件。

                  它不包含开发工具(JDK)--编译器、调试器和其它工具。

                  JRE需要辅助软件--Java Plug-in--以便在浏览器中运行applet。

           Java Plug-in。

                   允许Java Applet和JavaBean组件在使用Sun的Java Runtime Environment(JRE)的浏览器中运行,

                   而不是在使用缺省的Java运行环境的浏览器中运行。

                   Java Plug-in可用于Netscape Navigator和Microsoft Internet Explorer。

JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。

                  引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。

                   Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,

                   使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),

                   就可以在多种平台上不加修改地运行。

                   Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。

                   这就是Java的能够“一次编译,到处运行”的原因。

  总结: 三者的区别

              jdk开发中用

              jre运行时用

              jvm解决了跨平台:把class文件编译成别的平台认可的文件

转载于:https://www.cnblogs.com/fjkgrbk/p/JJJ.html

你可能感兴趣的:(JDK,JRE,JVM分别是什么?)