【Java基础学习打卡09】JRE与JDK

news2024/11/25 19:31:06

目录

  • 引言
  • 一、JRE
  • 二、JDK
  • 三、JDK、JRE和JVM关系
  • 总结


引言

本文将介绍JRE、JDK是什么,以及JDK、JRE和JVM关系三者之间的关系。


一、JRE

JRE全称为Java Runtime Environment,是Java应用程序的运行时环境。JRE包括Java虚拟机(JVM)、Java核心类库和支持文件。

在这里插入图片描述
在Java应用程序运行时,JVM在内存中执行Java程序的字节码,核心类库提供了常用的类和方法,而 Java应用程序所依赖的其它第三方类库,也需要由JRE提供支持。

当需要在计算机上运行Java应用程序时,需要安装JRE。如果没有JRE,则无法运行Java程序。在安装JRE的时候,会同时安装JVM和核心类库,以提供可靠的Java应用程序运行环境。

二、JDK

JDK全称为Java Development Kit,Java开发工具包,是Java开发环境的核心组件,包括JRE、编译器(javac)和常用的Java开发工具,如调试器(jdb)和文档生成器(javadoc)等。

在这里插入图片描述

与 JRE 相比,JDK 不仅提供 Java应用程序的运行环境,还提供 Java开发环境,使得 Java开发者可以使用编译器将源代码编译成字节码,生成 Java应用程序。

在安装 JDK 时,不仅可以获取 JRE 所包含的核心类库和 Java虚拟机,还可以获取开发中常用的工具,如 javac、jdb、javadoc 等。因此,JDK 不仅适合进行 Java应用程序的开发,同时也适合进行 Java应用程序的运行。

三、JDK、JRE和JVM关系

JDK、JRE 和 JVM 的关系,使用下图进行说明:

在这里插入图片描述

JDK、JRE 和 JVM 三者之间的关系如下:JDK 是 Java应用程序开发的核心组件,包括 JRE 和其他开发工具。JRE 是 Java应用程序的运行时环境,包括 Java虚拟机和核心类库。JVM 是 JRE 和 JDK 的一个共同组件,是 Java应用程序运行的核心,负责 Java源代码的编译、加载、解释和执行。可以将 JDK 看作是包含 JRE 的开发工具包,而 JRE 则是 Java应用程序的运行时环境,而 JVM 是 Java程序运行的核心组件。因此,要在计算机上运行 Java应用程序,必须先安装至少一个 JRE,而如果要进行 Java应用程序的开发,JDK 则是必需的。


总结

简单理解JDK、JRE 和 JVM,及它们的关系。之后再深入学习。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【数据结构】二叉树经典题目

1. 二叉树创建字符串 相信大部分人看了题目描述之后,都会和我一样一脸的懵逼。直到我看到了一个描述才恍然大悟 分为3种情况: 左右都为空 --省略右为空,左不为空 – 省略左为空,右不为空–不省略 这里复习一下二叉树的前序遍历…

Linux基本指令(四)

文章目录 一、新建(adduser)与删除(userdel)普通用户二、date指令三、find指令四、grep指令 一、新建(adduser)与删除(userdel)普通用户 前面我Linux登录时都是以root的身份登录的,从现在开始以普同用户登录,那么普通用户哪里来,是由root用户…

泰坦陨落2找不到msvcr120.dll的解决方法

msvcr120.dll是的动态链接库文件之一。它在Windows操作系统中发挥着重要的作用,它提供了应用程序所需的各种功能和方法。 该文件返回编译后的代码所需的支持库。msvcr120.dll包含用于C / C编译器生成的应用程序所需的重要功能,包括数学函数,…

第六节 容器(列表)

文章目录 列表掌握知识点1.1 概述1.1.1 语法格式 1.2 列表的循环遍历1.2.1 for 循环遍历列表1.2.2 while 循环遍历列表 1.3 列表的常见操作1.3.1 列表增加元素1.3.2 列表删除元素1.3.3 列表查询元素 1.4 列表的排序1.5 列表的嵌套1.6 练习 随机分班1.7 练习 判断字符结尾1.8 扩…

华为OD机试真题 JavaScript 实现【最长子字符串的长度】【2022Q4 100分】,附详细解题思路

一、题目描述 给你一个字符串s,字符串s首尾相连组成一个环形,请你在环形中找出‘o’字符出现了偶数次最长子字符串的长度。 二、输入描述 输入一串小写字母组成的字符串。 三、输出描述 输出一个整数。 四、解题思路 题目要求在给定的环形字符串中…

HTML中嵌入JavaScript代码的三种方式

第一种方式: <!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>HTML中嵌入JavaScript的第一种方式</title> </head> <body> <!-- 1.要实现的功能…

Unix/Linux操作系统的最强入门科普(经典)

今天这篇文章&#xff0c;我们来聊聊操作系统&#xff08;Operating System&#xff09;。 说到操作系统&#xff0c;大家都不会陌生。我们天天都在接触操作系统——用台式机或笔记本电脑&#xff0c;使用的是windows和macOS系统&#xff1b;用手机、平板电脑&#xff0c;则是…

深度学习入门——神经网络

神经网络 神经网络是一种受到人脑神经系统启发的机器学习模型。它由一系列相互连接的人工神经元组成&#xff0c;这些神经元以层次结构排列。每个神经元接收来自上一层神经元的输入&#xff0c;并根据权重和激活函数对输入进行加权处理&#xff0c;然后将输出传递给下一层神经…

【框架源码】Spring源码解析之Bean创建源码流程

问题&#xff1a;Spring中是如何初始化单例bean的&#xff1f; 我们都知道Spring解析xml文件描述成BeanDefinition&#xff0c;解析BeanDefinition最后创建Bean将Bean放入单例池中&#xff0c;那么Spring在创建Bean的这个过程都做了什么。 Spring核心方法refresh()中最最重要…

uniapp小程序订单页面UI

前言 之前用模板写了订单页面&#xff0c;由于需求改了导致这个页面做更新麻烦&#xff0c;弄了一下午&#xff0c;索性全部删除了自己写了&#xff0c;上面的tabs用的是b-ui框架写的&#xff0c;其他的都是原生写法。 &#x1f64f;如果这篇文章对你有帮助还请收藏点赞关注&…

【计算机视觉】不仅能分割一切简单物体,而且还能高精度分割一切复杂物体的SAM升级版本HQ-SAM来了

文章目录 一、SAM 导读二、SAM 的应用场景2.1 SAM-RBox-生成旋转矩形框2.2 Prompt-Segment-Anything-生成矩形框和掩2.3 Grounded-Segment-Anything-开放数据集检测与分割2.4 segment-anything-video-视频分割2.5 Open-vocabulary-Segment-Anything-开放词典分割2.6 SegDrawer-…

快速入门 Lua 编程

以下是一个简单的 Lua 快速编程教程&#xff0c;帮助你快速入门 Lua 编程。 安装 Lua 首先&#xff0c;你需要安装 Lua。你可以从 Lua 官网&#xff08;https://www.lua.org/download.html&#xff09;下载适合你的操作系统的安装包。安装完成后&#xff0c;你可以在命令行中…

CTFHub | 命令注入

0x00 前言 CTFHub 专注网络安全、信息安全、白帽子技术的在线学习&#xff0c;实训平台。提供优质的赛事及学习服务&#xff0c;拥有完善的题目环境及配套 writeup &#xff0c;降低 CTF 学习入门门槛&#xff0c;快速帮助选手成长&#xff0c;跟随主流比赛潮流。 0x01 题目描述…

记录一次scala项目导入编译失败的问题

文章目录 Scala项目环境问题记录小结 Scala项目环境 Java8 scala-2.11.12 MacBook Apple m2芯片 问题记录 1、scala版本安装 我的本地环境&#xff1a; ➜ ~ java --version openjdk 11.0.18 2023-01-17 OpenJDK Runtime Environment Homebrew (build 11.0.180) OpenJDK 64-…

【Flutter】Flutter 如何实现开屏广告

文章目录 一、前言二、实现开屏广告页面三、实现广告数据的加载四、开屏广告的完整代码五、总结 一、前言 开屏广告这个功能在商业应用中非常常见&#xff0c;它可以在应用启动时向用户展示广告&#xff0c;增加应用的商业价值。 如果你想深入学习 Flutter&#xff0c;掌握更…

BUUCTF 传统知识+古典密码 1

题目描述&#xff1a; 小明某一天收到一封密信&#xff0c;信中写了几个不同的年份 辛卯&#xff0c;癸巳&#xff0c;丙戌&#xff0c;辛未&#xff0c;庚辰&#xff0c;癸酉&#xff0c;己卯&#xff0c;癸巳。 信的背面还写有“甲子”&#xff0c;请解出这段密文。 key值&a…

大学生实习周记总结

大学生实习周记总结1 经过两个月的实习&#xff0c;我收获了很多&#xff0c;也懂得了许多&#xff0c;同时也成熟了不少。下面我将把我两个月的实习生活分成五个部分进行总结&#xff1a;教学经验、班主任工作、做事态度、学生友谊、感恩的心。 教学经验&#xff1a;如何上好一…

使用大型语言模(LLM)构建系统(六):构建端到端系统

今天我学习了DeepLearning.AI的 Building Systems with LLM 的在线课程&#xff0c;我想和大家一起分享一下该门课程的一些主要内容。之前我们已经学习了下面这些知识&#xff1a; 使用大型语言模(LLM)构建系统(一)&#xff1a;分类使用大型语言模(LLM)构建系统(二):内容审核、…

如何系统的学习python中的numpy,pandas,matplotlib?太有用了!!!

前言 随着大数据、云计算和人工智能的发展&#xff0c;越来越多的企业需要以数据为基础做出决策。数据分析是处理大量数据的过程&#xff0c;分析数据以识别趋势和模式&#xff0c;并从数据中提取有用的信息来支持业务决策。数据分析可以应用于各种不同的领域&#xff0c;如营…

性能测试如何做?性能测试-稳定性场景设计详细,晋升之路...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 我们谈到测试设计…