• JDK,JRE和JVM三者间关系


    JDK是什么?
    JDK(Java Development Kit),Java开发工具包,是针对Java开发程序员的产品,是整个Java的核心,包含Java运行环境JRE、Java工具和Java基础类库。具有3个主要组成部分:1. Java 编程语言(Java Language)、2. Java 虚拟机(Java Virtual Machine, JVM) 、 3. Java 类库(Java API)。
    JDK的安装目录:
    ![[Pasted image 20220727100901.png]]

    javac 编译工具
    java 运行工具
    jdb 调试工具(当代码比较多时,使用此工具去查看代码,调试一步一步的运行)
    jhat 内存分析工具(用于监控程序在运行时的内存)

    JRE是什么?
    JRE (Java Runtime Environment)是运行JAVA程序所必须的环境的集合(Java运行环境),包含JVM标准实现及Java核心类库。具有2个主要组成部分:Java 虚拟机(Java Virtual Machine, JVM)和 Java SE 类库(Java SE API)。
    bin存放的可以理解为JVM,lib存放的则是JVM所需要的类库。当把Java程序编译成.class文件时,具有.class文件和JRE即可运行程序了。如果需求是运行一个开发完毕的Java程序,那么仅仅需要安装好JRE即可。
    小结:JRE=JVM+Java基础&核心类库。

    JVM是什么?
    JVM(Java Virtual Machine)Java虚拟机,真正运行Java程序的地方。**运行在操作系统之上,存在于内存中,与内存打交道,与硬件没有直接交互,是Java语言实现跨平台的核心,能够运行以Java语言写作的软件程序。所有的Java程序都需要经过编译成.class文件,.class文件不直接与操作系统交互,.class文件可以在虚拟机上执行,所以.class文件是通过虚拟机间接与操作系统进行交互,通过虚拟机将程序翻译给本地系统执行。虚拟机:抽象,虚拟的计算机,具有计算机的基本运行方式,主要负责将java程序生成的字节码(.class)文件翻译成具体系统平台上的机器指令,从而运行Java程序。JVM无法单独执行,必须要联合JRE中的Java基础&核心类库才能使用。

    小结:

    • JDK用于Java程序编写开发
    • JRE用于运行class文件(字节码文件)没有编译功能
    • 如果只需要运行代码,不需要编译代码,安装一个JRE即可,不需要安装JDK (JRE比较短小,不会占用多余的空间)

    ![[Pasted image 20220727110037.png]]

  • 相关阅读:
    成员内部类、局部内部类、匿名内部类
    Nginx简介与Docker Compose部署指南
    如何使用Python进行机器学习?
    第一章:变量和简单的数据类型
    Java常用配置项和命令行
    [附源码]JAVA毕业设计教材管理(系统+LW)
    为什么要让img浮动:
    docker通过dockerfile安装sftp教程。
    数据挖掘实践(金融风控):金融风控之贷款违约预测挑战赛(上篇)[xgboots/lightgbm/Catboost等模型]--模型融合:stacking、blending
    为什么别人都不主动联系你
  • 原文地址:https://blog.csdn.net/weixin_57727027/article/details/126010453