JDK、JRE、JVM、SDK

我宁愿写bug⚠️,也不愿什么都不做 ❗️


💚哈喽!大家好!💚

❤️我是 一看就会,一写就废浩浩🔍❤️

💙让我带你编程带你飞,带你飞进垃圾堆!💙

💜 如果对你有所帮助,请给我点个赞👍!💜


键盘敲烂💥,工资过万💰


📌


一、JDK

1. 概述

  • JDK是 Java Development Kit 的简称 ,是 Java 语言的软件开发工具包(SDK),是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。
  • JDK = JRE + 开发工具(例如 javac 编译工具等)

2. 作用

  • JDK为java程序开发提供编译和运行环境,所有java程序的编写都依赖于它。使用JDK可以将java程序编写为字节码文件(.class文件)。

2. 子目录说明

  • bin 存放一些可执行程序,比如javac(编译器)还有java的运行工具
  • include 由于 java 是由C和C++去编写的,启动的时候需要引用一些C语言的头文件,本目录就是存放这些头文件的
  • jre java运行时环境,如果只跑java的话,这个目录就够了
  • lib java的类库文件
  • src压缩文件 java基础类源代码
  • demo 存放演示程序

二、 JRE

1. 概述

  • JRE是 Java Runtime Environment 的简称,它包括Java虚拟机(JVM)、Java核心类库和支持文件。它不包含开发工具(JDK)–编译器、调试器和其它工具。它是java的运行时环境

  • JRE = JVM + 标准类库

2. 作用

  • JRE是java的运行环境,也就是说你只是想运行一个java构建的应用程序,你只安装JRE就够了。

  • JDK是用于java程序的开发,JRE则只能运行字节码文件(.class文件),而没有编译功能。如果你要自行开发 Java软件,请下载JDK

三、JVM

1. 概述

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

2. 作用

  • 它提供java字节码的运行时环境,通过编译java文件为.class文件得到字节码文件

  • java虚拟机在执行字节码文件时,把字节码文件解释成具体平台上的机器指令执行。这就是java能够“一次编译,到处运行的原因”。

四、 SDK

1. 概述

  • SDK是 Software Development Kit 的缩写,中文意思是“软件开发工具包”,这是一个覆盖面相当广泛的名词,可以这么说:辅助开发某一类软件的相关文档、范例和工具的集合都可以叫做“SDK”。SDK是一系列文件的组合,它为软件的开发提供一个平台(它为软件开发使用各种API提供便利)。

2. 与JDK的联系

  • JDK (Java Development Kit) 是Sun Microsystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK(Software development kit)。

3. 与JDK的区别

  • 可以认为JDK只是SDK的一种(子集),因为它是开发java程序的一个平台,开发其他程序的SDK可以没有JDK。比如你下载了一个软件开发平台 eclipse-SDK-3.2.2-win32.zip,它本身里面是没有JDK的。但是只要开发java程序就必须使用JKD。

五、JDK、JRE、JVM三者的联系与区别

1. 联系

  1. 使用编辑器或IDE(集成开发环境)编写Java源文件,即 .java文件。
  2. 程序必须编译为字节码文件,javac(Java编译器)编译源文件为 .class文件。
  3. 类文件可在任何平台/操作系统上由JVM(Java虚拟机)执行 。
  4. JVM将字节码文件翻译为机器可以执行的机器码(0,1二进制)。
  • 即我们是利用JDK(调用JAVA API)开发了属于我们自己的java程序后,通过JDK中的编译程序(javac)将我们的文本 .java 文件编译成.class字节码文件,在JRE上运行这些.class字节码文件,JVM解析这些字节码,映射到CPU指令集或OS的系统调用。

  • JVM不能单独搞定.class的执行,解释.class的时候JVM需要调用解释所需要的类库lib。在JDK下面的的jre目录里面有两个文件夹binlib,在这里可以认为bin里的就是JVMlib中则是JVM工作所需要的类库,而JVMlib和起来就称为JRE

2. 区别

  • JKD主要面向开发者,具有java的编译功能,JRE主要面向用户

  • JDK = JRE + 开发工具(例如 javac 编译工具等)

  • JRE = JVM + 标准类库
    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

haohao_不秃头

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值