JDK、JRE和JDK的关系

✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉
🍎个人主页:Leo的博客
💞当前专栏:每天一个知识点
✨特色专栏: MySQL学习
🥭本文内容:JDK、JRE和JDK的关系
📚个人知识库: Leo知识库,欢迎大家访问

img

JDK

JDK的全称是 Java Development Kit,即Java开发工具包。JDK是Java开发者必备的工具,它包含了Java编译器、调试器、类库等开发工具和Java应用程序的运行环境。

JDK包含以下组件:

Java编译器(javac):将Java程序源代码编译成能在JVM上运行的字节码文件。

Java虚拟机(JVM):可执行Java程序的虚拟计算机。它是Java程序的运行环境。

Java类库:包含了大量的Java类和接口,提供了丰富的函数库以及开发工具。

Java文档:Java类库的说明文档。

JRE

JRE的全称是 Java Runtime Environment,即Java运行时环境。JRE主要用于执行Java程序,而不是进行Java的开发。

JRE包含以下组件:

Java虚拟机(JVM):可执行Java程序的虚拟计算机。它是Java程序的运行环境。

Java类库:包含了大量的Java类和接口,提供了丰富的函数库以及开发工具。

JVM

JVM的全称是Java Virtual Machine,即Java虚拟机。JVM是Java程序的运行环境,它能够执行Java程序编译后的字节码文件。

JVM主要有以下功能:

字节码解释器:将字节码文件解释成机器码并执行。

类加载器:将Java类加载到JVM中。

运行时数据区:包括程序计数器、Java虚拟机栈、本地方法栈、堆和方法区等,用于存储Java程序运行时的数据。

JDK、JRE和JVM的关系

JDK包含了JRE和JVM,JRE包含了JVM。JDK是开发Java程序必备的工具,而JRE则是Java程序运行的必备环境。

从关系上来说,JDK是最大的,JRE是其次的,JVM是最小的。JDK包含了JRE和JVM,而JRE包含了JVM。

JDK包含了Java开发所需要的所有工具,包括Java编译器、调试器、类库等开发工具和Java应用程序的运行环境,所以在开发Java程序时需要安装JDK。

JRE主要是用于执行Java程序,它包含了JVM和Java类库,但没有Java编译器等开发工具。因此,如果只需要运行Java程序而不需要进行Java开发,只需要安装JRE即可。

JVM是Java程序的运行环境,它能够执行Java程序编译后的字节码文件。JVM是运行Java程序的核心,因为Java程序必须在JVM上运行才能执行。

  • JVM: Java虚拟机,Java程序需要运行在JVM中。JVM负责将Java代码转换为可以在计算机上运行的机器码,并提供必要的环境支持。
  • JRE:Java的运行环境,包括了JVM和Java核心类库等。
  • JDK:Java开发工具包,包括了编译器、Java API、调试工具等,用于开发Java应用程序。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/598039.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

鱼骨图功能实现

dom: <div class="module-content"><div class="title"><span>[</span><p>鱼骨图</p><span>]</span></div><div class="line-mian"></div><div :ref="module + i&q…

配置vscode用于STM32编译,Debug

配置环境参考&#xff1a; Docs 用cubemx配置工程文件&#xff0c;用VScode打开工程文件。 编译的时候会有如下报错&#xff1a; vscode出现process_begin :CreateProcess failed 系统找不到指定文件 解决方案&#xff1a;在你的makefile中加上SHELLcmd.exe就可以了 参考…

VRRP+MSTP+BFD

一、组网 二、要求 PC6&#xff08;vlan 10内PC&#xff09;访问1.1.1.1走JR-1——CORE1——MSR到1.1.1.1 PC7&#xff08;vlan 20内PC&#xff09;访问1.1.1.1走JR-2——CORE2——MSR到1.1.1.1 链路故障时切换路线&#xff0c;来回路径一致 三、配置步骤 SR bfd echo-sou…

大数据系列 | Kafka架构分析及应用

大数据系列 | Kafka架构分析及应用 1. Kafka原理分析2. Kafka架构分析3. Kafka的应用3.1. 安装Zookeeper集群3.2. 安装Kafka集群3.3. 生产者和消费者使用3.3.1. 生产者使用3.3.1. 消费者使用 4. Kafka Controller控制器 1. Kafka原理分析 Kafka是一个高吞吐量、 持久性的分布式…

C++进阶篇11---IO流

一、对C语言的输入输出的理解 C语言中我们经常用scanf()和printf()进行输入输出&#xff0c;形象的描述它们的作用如下 对于缓冲区的理解&#xff1a; 可以屏蔽掉低级I/O的实现&#xff0c;低级I/O的实现依赖操作系统本身内核的实现&#xff0c;所以如果能够屏蔽这部分的差异…

【使用flex两端对齐加margin-right】

解决办法众多&#xff1a;https://cloud.tencent.com/developer/article/1516801 <div class"job_tabs_content"><div class"job_tab_item"></div><div class"job_tab_item"></div><div class"job_tab_i…

C语言整数和小数的存储

1.整数在内存中的存储 计算机使用二进制进行存储、运算&#xff0c;整数在内存中存储使用的是二进制补码 1.1原码、反码、补码 整数的2进制表⽰⽅法有三种&#xff0c;即 原码、反码和补码 三种表⽰⽅法均有符号位和数值位两部分&#xff0c;符号位都是⽤0表⽰“正”&am…

vue快速入门(七)内联语句

注释很详细&#xff0c;直接上代码 上一篇 新增内容 button点击事件绑定内联语句写法与要求 源码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-wid…

C++搭建深度学习的推理框架

我们的目的是:借助C++搭建一个类似于pytorch,tensorflow的深度学习框架,对标pytorch,tensorflow实现对应的功能。由于本人能力有限,下面本人将借助C++搭建一个简单的全连接神经网络,并且尝试解释里面的算子定义和计算图构建。 算子定义 回顾pytorch里面搭建的全连接神经网…

微信小程序使用icon图标

原因&#xff1a; 微信小程序使用fontawesome库使用icon图标&#xff0c;网上有很多教程&#xff0c;按照网上说法制作&#xff0c;引入到微信小程序中&#xff0c;但是验证成功&#xff0c;只能使用部分图标&#xff0c;结果不尽如人意。后面使用阿里巴巴开源iconfont来使用ic…

A Novel Distributed File System Using Blockchain Metadata——论文泛读

Wireless Personal Communications 2023 Paper 分布式元数据论文阅读笔记整理 问题 随着来自不同来源&#xff08;如在线社交媒体、物联网、移动数据、传感器数据、黑匣子数据等&#xff09;的大量数据以指数级的速度增长&#xff0c;集群计算已成为数据处理中不可避免的一部…

【移动安全】对webview漏洞的一些分析

这次分析的app如下&#xff1a; 打开发现该app发现需要登录界面&#xff1a; 拖进jadx看一下&#xff0c;先来看一下AndroidManifest.xml文件 发现有两个类是导出&#xff0c;再来分析这两个类 这个RegistrationWebView类利用webview.loadUrl进行加载网页 java public class…