学习笔记:JVM、JRE和JDK的关系
JVM、JRE和JDK是Java生态系统的三个核心组件,它们的关系如下:
1. JVM(Java Virtual Machine)
- 定义:JVM是运行Java字节码的虚拟计算机,负责将字节码翻译成机器码并执行。
- 作用:实现“一次编写,到处运行”的跨平台特性,屏蔽不同操作系统的差异。
- 地位:是Java程序运行的基础,所有Java程序都在JVM上执行。
2. JRE(Java Runtime Environment)
- 定义:JRE是运行Java程序的最小环境,包含JVM、核心类库(如
java.lang、java.util等)及其他支持文件。 - 作用:为Java程序提供运行时所需的资源。
- 包含关系:JRE = JVM + 运行类库。
3. JDK(Java Development Kit)
- 定义:JDK是Java开发工具包,是程序员开发Java程序的核心工具。
- 作用:包含编译器(
javac)、调试器(jdb)、文档工具(javadoc)等开发工具。 - 包含关系:JDK = JRE + 开发工具。
三者关系总结
- JVM是Java程序的运行核心,负责执行字节码。
- JRE是运行Java程序的环境,包含JVM和类库。
- JDK是开发Java程序的工具集,包含JRE和开发工具。
简单理解:
- 若只需运行Java程序(如使用
java -version调用版本信息),安装JRE即可(java是 JRE 的核心执行命令)。 - 若要开发Java程序(编写
.java文件并编译),则需安装JDK。 - JDK包含JRE,JRE包含JVM,形成层层嵌套的关系。
学习笔记:JVM、JRE和JDK的关系的更多相关文章
- Java虚拟机学习笔记——JVM垃圾回收机制
Java虚拟机学习笔记——JVM垃圾回收机制 Java垃圾回收基于虚拟机的自动内存管理机制,我们不需要为每一个对象进行释放内存,不容易发生内存泄漏和内存溢出问题. 但是自动内存管理机制不是万能药,我们 ...
- JVM学习笔记-JVM模型
JVM学习笔记 == 标签(空格分隔): jvm 学习笔记全部来自于<深入理解java虚拟机>总结 jvm内存示意图 虚拟机栈(Java Virtual Machine Stacks): ...
- Java学习 1.2——简述JVM,JRE,JDK的关系
在上一节中,我们了解了JVM相关的知识,有兴趣的话可以先去看一下: Java学习 1.1——(JVM介绍)Java为什么能够跨平台? 这个篇主要分享的是JRE,JDK,JVM三者的区别,简言之: JD ...
- 简述JVM、JRE、JDK的关系及作用
1.JVM:java虚拟机 . 作用:保证java语言跨平台. 2.JRE:java运行环境 jre=java虚拟机+核心类库. 作用:java程序的运行环境. 3.JDK :java开发工具集.JD ...
- JVM, JRE 和JDK
JVM -- java virtual machine A Java virtual machine (JVM) is a process virtual machine that can execu ...
- Java 学习笔记 ------第二章 从JDK到IDE
本章学习目标: 了解与设定PATH 了解与指定CLASSPATH 了解与指定SOURCEPATH 使用package与import管理类别 初步认识JDK与IDE的对应关系 一.第一个Java程序 工 ...
- 一个bug重温对JRE和JDK的关系思考
前几天做一个springboot项目时,导入的JAVA版本是17,然后后面想更贴近下企业中使用的JDK版本就改成了JDK 1,8,然后就编译错误,bug如下 java: java.lang.Unsup ...
- 《Java程序性能优化》学习笔记 JVM和并发优化
第四章 并行程序优化 1.非阻塞同步避免了基于锁的同步的缺陷,无锁算法没有锁竞争带来的系统开销,也没有线程间频繁调度带来的开销.CAS算法:包含3个参数CAS(v,e,n).V表示要更新的变量,E表示 ...
- 【学习笔记】【C语言】关系运算符
1. 条件判断 默认情况下,我们在程序中写的每一句正确代码都会被执行.但很多时候,我们想在某个条件成立的情况下才执行某一段代码 这种情况的话可以使用条件语句来完成,但是我们暂时不学习条件语句,先来看一 ...
- java学习笔记1——window7下JDK环境变量配置图解
1. 首先下载Java安装工具包 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.ht ...
随机推荐
- 基于CentOS Stream 8的物联网数据采集与展示方案
系统架构全景图 图表 一.系统平台优化(CentOS Stream 8) 1. 系统基础配置 bash # 1. 系统更新与加固 sudo dnf update -y sudo dnf install ...
- 我整理了 10 条 AI 聊天应用的需求
我整理了 10 条 AI 聊天应用的需求,看看有没有你也需要的. 1. 全局检索(Global Search) 上次那个绝妙的点子,现在只记得它很绝妙了 作为一位大语言模型的深度用户,我的聊天记录已累 ...
- 你应该懂的AI大模型(四)之 LangChain
这篇文章里面会有一些 python 代码,能看懂就行,可能会有语法错误大家当伪代码看吧, AI 应用开发也不会去敲这些代码(甚至整个过程都不太需要敲代码),文章中的这些代码只是为了更好的理解这些组件, ...
- 袋鼠云思枢:数驹DTengine,助力企业构建高效的流批一体数据湖计算平台
7月28日,以"数智进化,现在即未来"为主题的袋鼠云2022产品发布会于线上正式开幕.发布会上,袋鼠云宣布将集团进行全新升级:从"数字化基础设施供应商",升级为 ...
- 谷歌浏览器 与 C# 4种嵌入浏览器 从 兼容性、性能、高级特性 方面的表现比对
CS架构 Web具有非常强大且友好的开发生态,在CS架构的窗口程序中嵌入浏览器,有哪些好处呢? 1,能够极大丰富程序的表现形式 2,能够充分地利用web的跨平台特性 3,能够使用web更现代更丰富 ...
- Nginx 本地代理转发请求 502 Bad Gateway
问题 在使用 yum 安装 nginx 后可能会出现配置完成后却无法访问的问题,查看 audit.log 会发现类似于以下的错误信息 原因 出现此问题的原因是 SELinux 基于最小权限原则默认拦截 ...
- 都说了布尔类型的变量不要加 is 前缀,非要加,这不是坑我了嘛
开心一刻 今天心情不好,给哥们发语音 我:哥们,晚上出来喝酒聊天吧 哥们:咋啦,心情不好? 我:嗯,刚刚在公交车上看见前女友了 哥们:然后呢? 我:给她让座时,发现她怀孕了... 哥们:所以难受了? ...
- 利用POI插件导入excel 读取合并行数据(上)
图为要导入的excel格式 分析一下: 前一部分数据是读取 合并行 存入一张 "会见" 表 ,后面蓝色的 非合并行 存入 "会见人信息" 表. 先说后台方法,( ...
- java set TreeSet详解
TreeSet 是sortedSet的唯一实现类,正如SortedSet名字暗示,TreeSet可以让集合元素处在排好序的状态. 与HashSet相比,TreeSet还额外提供了以下的方法(列出来,混 ...
- Go 重构案例分享:订单创建逻辑重构
背景:从 PHP (Laravel) 到 Go 的模式迁移 •原 PHP (Laravel) 实现思路:核心模式: "行为管道" (Behavior Pipeline).如何工作: ...