• JDK JRE JVM 的区别


    一、JDK

    JDK:Java Development Kit的简称,Java开发工具包,是整个Java的核心,包括了Java运行环境、Java工具和Java基础类库。

    二、JRE

    JRE:Java Runtime Enviroment的简称,Java运行环境,为Java的运行提供了所需的环境,它是运行已经编译的Java程序所需要的所有内容的集合,包括Java虚拟机(JVM),Java类库等。

    三、JVM

    JVM:Java Virtual Machine的简称,Java虚拟机,运行Java字节码的虚拟机,JVM有针对不同系统的特定实现(Windows, macOS, Linux),目的是使用相同的字节码,它们都得出相同的结果。Java程序就是运行在Java虚拟机上,针对不同的系统实现不同的JVM。所以Java语言可以实现跨平台。

    jdk中的javac.exe编译工具将java代码编译成xxx.class 文件(字节码文件),jvm执行class文件(能够将class 文件中的字节码指令进行识别并调用操作系统上的API完成动作,也就是调汇编指令,让
    cpu按照汇编指令去干活)。也正因为class文件和jvm所以才能跨平台,因为不同的平台有不同的jvm(可以自己去安装),但无论在哪个平台上运行,jvm所执行的class文件都是一样的(打包其实就是编译,并把编译后的文件以jar或war的形式分离出来,以便部署),所以能跨平台

    四、总结

    JDK包含了JRE,同时还包含了编译Java源码的编译器javac,还包含了很多Java调试和分析的工具。运行Java程序,安装JRE就够了,如果编写和调试Java程序,需要安装JDK。Java程序都是编译后交给JVM运行的。

    总的来说,他们的基本包含关系是:JDK包含JRE,JRE包含JVM、核心类库

    运行Java程序的最小环境为JRE

    开发Java程序的最小环境为JDK

     

     

  • 相关阅读:
    selenium 等待方式
    java图书推荐协同过滤算法网站
    Critical Point ( local minima && saddle point)
    圈复杂度 - 软件工具
    vuekeyclock 集成
    动规(16)-并查集基础题——格子游戏
    基于ssm的果蔬商城管理系统
    前端监控系列2 |聊聊 JS 错误监控那些事儿
    LabView---双通道示波器(内含信号发生器)
    性能测试和自动化测试有什么区别?
  • 原文地址:https://blog.csdn.net/c_lanxiaofang/article/details/126774364