当前位置: 首页 > news >正文

JVM,JRE和JDK的区别

JVM,JRE和JDK的区别

    • JVM(Java Virtual Machine,Java虚拟机)
    • JRE
      • JRE目录结构
    • JDK

JVM(Java Virtual Machine,Java虚拟机)

Java程序的跨平台特性主要是指字节码文件可以在任何具有Java虚拟机的计算机或者电子设备上运行,Java虚拟机中的Java解释器负责将字节码文件解释成为特定的机器码进行运行。因此在运行时,Java源程序需要通过编译器编译成为.class文件。众所周知java.exe是java class文件的执行程序,但实际上java.exe程序只是一个执行的外壳,它会装载jvm.dll(windows下,下皆以windows平台为例,linux下和solaris下其实类似,为:libjvm.so),这个动态连接库才是java虚拟机的实际操作处理所在。

JVM是JRE的一部分。它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。JVM有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。Java语言最重要的特点就是跨平台运行使用JVM就是为了支持与操作系统无关,实现跨平台。 所以,JAVA虚拟机JVM是属于JRE的,而现在我们安装JDK时也附带安装了JRE(当然也可以单独安装JRE)。

JRE

Java Runtime Environment,Java运行环境。 包含JVM标准实现和java核心类库,完整的Java运行环境.

JRE目录结构

在这里插入图片描述
JRE目录结构

  1. bin:Java平台工具所使用的的.exe可执行文件和.dll可执行文件。
  2. lib:代码库、树形设置以及JRE使用的源文件,如——
    rt.jar:Bootstrap类(构成Java平台核心API的运行时类);
    charsets.jar:字符转换类;
    jfxrt.jar:JavaFX的运行时库。
  3. lib\applet:包含支持类的小程序jar文件可以放置在lib/applet/目录中。这样,通过允许小程序类从Applet类装载器的本地文件系统预装,提供同样的保护,就好像他们已经被下载超过净减少启动时间大的小程序。
  4. lib\ext:Java平台的扩展程序(插件等)的默认安装目录。如——
    localedata.jar-用于现场数据 java.text和java.util。
  5. lib\fonts:平台使用的字体文件。
  6. lib\security:包含用于安全管理的文件。这些措施包括安全策略(java.policy)和安全性(java.security)文件。

JDK

Java Development Kit,Java开发环境。 包含了JRE、Java核心类库、开发工具包(编译器+调试工具)
在这里插入图片描述

相关文章:

JVM,JRE和JDK的区别

JVM,JRE和JDK的区别 JVM(Java Virtual Machine,Java虚拟机)JREJRE目录结构 JDK JVM(Java Virtual Machine,Java虚拟机) Java程序的跨平台特性主要是指字节码文件可以在任何具有Java虚拟机的计算机或者电子设备上运行,Java虚拟机中…...

合宙Air724UG LuatOS-Air LVGL API控件--日历 (Calendar)

日历 (Calendar) LVGL 提供了一个用来选择和显示当前日期的日历控件。 示例代码 – 高亮显示的日期 highlightDate lvgl.calendar_date_t() – 日历点击的回调函数 – 将点击日期设置高亮 function event_handler(obj, event) if event lvgl.EVENT_VALUE_CHANGED then da…...

[python]问题:pandas处理excel里的多个sheet

Pandas 可以很容易地处理 Excel 文件中的多个工作表。首先,你需要安装 pandas 和 openpyxl(用于读取 .xlsx 文件)库。你可以使用以下命令安装这两个库: pip install pandas openpyxl接下来,你可以使用以下代码来处理 Excel 文件中的多个工作表: import pandas as pd# 读…...

[MySQL] MySQL基础操作汇总

文章目录 前言1.数据库概述1.1 数据库相关概念1.2登录MySQL:1.3 MySQL常用命令1.4表:1.5SQL语句分类: 2.CRUD操作2.1 DQL1.基础查询基础查询(简单查询)条件查询:排序查询:分组查询:分…...

C语言每日一题 ---- 打印从1到最大的n位数(Day 1)

本专栏为c语言练习专栏,适合刚刚学完c语言的初学者。本专栏每天会不定时更新,通过每天练习,进一步对c语言的重难点知识进行更深入的学习。 💓博主csdn个人主页:小小unicorn ⏩专栏分类:C语言天天练 &#x…...

2023-08-23 LeetCode每日一题(统计点对的数目)

2023-08-23每日一题 一、题目编号 1782. 统计点对的数目二、题目链接 点击跳转到题目位置 三、题目描述 给你一个无向图,无向图由整数 n ,表示图中节点的数目,和 edges 组成,其中 edges[i] [ui, vi] 表示 ui 和 vi 之间有一…...

LLMs之Code:SQLCoder的简介、安装、使用方法之详细攻略

LLMs之Code:SQLCoder的简介、安装、使用方法之详细攻略 目录 SQLCoder的简介 1、结果 2、按问题类别的结果 SQLCoder的安装 1、硬件要求 2、下载模型权重 3、使用SQLCoder 4、Colab中运行SQLCoder 第一步,配置环境 第二步,测试 第…...

数学建模(四)整数规划—匈牙利算法

目录 一、0-1型整数规划问题 1.1 案例 1.2 指派问题的标准形式 2.2 非标准形式的指派问题 二、指派问题的匈牙利解法 2.1 匈牙利解法的一般步骤 2.2 匈牙利解法的实例 2.3 代码实现 一、0-1型整数规划问题 1.1 案例 投资问题: 有600万元投资5个项目&…...

openGauss学习笔记-47 openGauss 高级数据管理-权限

文章目录 openGauss学习笔记-47 openGauss 高级数据管理-权限47.1 语法格式47.2 参数说明47.3 示例 openGauss学习笔记-47 openGauss 高级数据管理-权限 数据库对象创建后,进行对象创建的用户就是该对象的所有者。数据库安装后的默认情况下,未开启三权分…...

开始MySQL之路——MySQL 事务(详解分析)

MySQL 事务概述 MySQL 事务主要用于处理操作量大,复杂度高的数据。比如说,在人员管理系统中,你删除一个人员,你即需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等&#xf…...

注解和class对象和mysql

注解 override 通常是用在方法上的注解表示该方法是有重写的 interface 表示一个注解类 比如 public interface override{} 这就表示是override是一个注解类 target 修饰注解的注解表示元注解 deprecated 修饰某个元素表示该元素已经过时了 1.不代表该元素不能用了&…...

【桌面小屏幕项目】ESP32开发环境搭建

视频教程链接: 【【有手就行系列】嵌入式单片机教程-桌面小屏幕实战教学 从设计、硬件、焊接到代码编写、调试 ESP32 持续更新2022】 https://www.bilibili.com/video/BV1wV4y1G7Vk/?share_sourcecopy_web&vd_source4fa5fad39452b08a8f4aa46532e890a7 一、esp…...

CSS 滚动容器与固定 Tabbar 自适应的几种方式

问题 容器高度使用 px 定高时,随着页面高度发生变化,组件展示的数量不能最大化的铺满,导致出现底部留白。容器高度使用 vw 定高时,随着页面宽度发生变化,组件展示的数量不能最大化的铺满,导致出现底部留白…...

IP 地址追踪工具

IP 地址跟踪工具是一种网络实用程序,允许您扫描、跟踪和获取详细信息,例如 IP 地址的 MAC 和接口 ID。IP 跟踪解决方案通过使用不同的网络扫描协议来检查网络地址空间来收集这些详细信息。一些高级 IP 地址跟踪器软件(如 OpUtils)…...

最新企业网盘产品推荐榜发布

随着数字化发展,传统的文化存储方式已无法跟上企业发展的步伐。云存储的出现为企业提供了新的文件管理存储模式。企业网盘作为云存储的代表性工具,被越来越多的企业所青睐。那么在众多企业网盘产品中,企业该如何找到合适的企业网盘呢&#xf…...

实用的面试经验分享:程序员们谈论他们的面试历程

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…...

6.oracle中listagg函数使用

1. 作用 可以实现行转列,将多列数据聚合为一列,实现数据的压缩 2. 语法 listagg(measure_expr,delimiter) within group ( order by order_by_clause); 解释: measure_expr可以是基于任何列的表达式 delimiter分隔符&#xff0c…...

习题练习 C语言(暑期)

编程能力小提升! 前言一、转义字符二、重命名与宏定义三、三目运算符四、计算日期到天数转换五、计算字符串长度六、宏定义应用七、const常量八、C语言基础九、const常量(二)十、符号运算十一、记负均正十二、SWITCH,CASE十三、错…...

C++中虚函数表的概念

当一个类对象指针调用虚函数时&#xff0c;这就涉及到 运行时多态 的概念。这意味着实际调用的函数取决于对象的实际类型&#xff0c;而不仅仅是指针的静态类型。 假设我们有以下的类层次结构&#xff1a; class Base { public:virtual void print() {std::cout << &qu…...

代码随想录算法训练营第四十八天 | 198.打家劫舍,213.打家劫舍II,337.打家劫舍III

代码随想录算法训练营第四十八天 | 198.打家劫舍&#xff0c;213.打家劫舍II&#xff0c;337.打家劫舍III 198.打家劫舍213.打家劫舍II337.打家劫舍III 198.打家劫舍 题目链接 视频讲解 你是一个专业的小偷&#xff0c;计划偷窃沿街的房屋。每间房内都藏有一定的现金&#xff…...

开源集成利器OpenClaw:深度连接Bitrix24与外部系统的PHP解决方案

1. 项目概述&#xff1a;一个为Bitrix24量身定制的开源集成利器如果你正在使用Bitrix24&#xff0c;并且对它的某些功能限制感到束手束脚&#xff0c;或者你厌倦了在不同系统间手动搬运数据的繁琐&#xff0c;那么你很可能已经意识到&#xff0c;一个强大的集成工具是多么必要。…...

Node.js日志美化实战:使用pretty-log提升开发调试效率

1. 项目概述&#xff1a;告别混乱&#xff0c;拥抱优雅的日志输出 在软件开发&#xff0c;尤其是后端服务、命令行工具或长期运行的后台任务中&#xff0c;日志是我们与程序对话的窗口。然而&#xff0c;默认的日志输出往往让人头疼&#xff1a;时间戳格式不统一、关键信息淹没…...

AI工程化实战:从模型到服务的全链路部署与优化指南

1. 项目概述&#xff1a;一个面向AI应用开发的综合框架最近在开源社区里&#xff0c;Sunpeak-AI/sunpeak 这个项目引起了我的注意。它不是一个单一的模型或工具&#xff0c;而是一个旨在为AI应用开发提供“一站式”解决方案的框架。简单来说&#xff0c;你可以把它理解为一个工…...

NotebookLM多语言支持到底行不行?基于2000+跨语言笔记片段的BLEU-4与BERTScore双维度评测(含原始数据集下载链接)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;NotebookLM多语言支持到底行不行&#xff1f;基于2000跨语言笔记片段的BLEU-4与BERTScore双维度评测&#xff08;含原始数据集下载链接&#xff09; NotebookLM 官方宣称支持“30语言”&#xff0c;但其…...

sentence-transformers模型加载报错?试试这个本地路径加载的万能解法(附all-MiniLM-L6-v2示例)

解决sentence-transformers模型加载失败的终极指南&#xff1a;本地路径加载全攻略 当你满怀期待地运行sentence-transformers代码&#xff0c;准备体验强大的文本嵌入能力时&#xff0c;突然遭遇模型下载失败的报错——这种经历对开发者来说简直像踩到乐高积木一样痛苦。网络超…...

基于Mac Studio搭建本地AI协作环境:从Ollama到LangChain的完整实践

1. 项目概述&#xff1a;当Mac Studio遇上本地AI协作如果你手头有一台Mac Studio&#xff0c;无论是M1 Ultra还是M2 Max&#xff0c;大概率是冲着它强悍的媒体处理能力或者流畅的开发体验去的。但你可能没意识到&#xff0c;这台性能怪兽&#xff0c;正是一个搭建个人或小团队私…...

JESD204B高速串行接口技术解析与应用实践

1. JESD204B接口技术深度解析JESD204B作为第三代高速串行接口标准&#xff0c;正在彻底改变数据转换器与逻辑器件之间的连接方式。我在实际项目中使用过ADC16DX370和DAC38J84等多款支持JESD204B的器件&#xff0c;深刻体会到这种接口带来的设计变革。相比传统的LVDS或CMOS并行接…...

Arduino与CircuitPython通过SPI Flash和FATFS实现数据无缝交换

1. 项目概述与核心价值在嵌入式开发领域&#xff0c;数据存储与交换一直是个绕不开的经典话题。无论是记录传感器数据、保存设备配置&#xff0c;还是实现固件的在线更新&#xff0c;我们都需要一个可靠、高效且易于管理的存储方案。SPI Flash芯片以其小巧的体积、低廉的成本和…...

别再只盯着PCA了!用Python手写LDA降维,实战区分鸢尾花数据集

别再只盯着PCA了&#xff01;用Python手写LDA降维&#xff0c;实战区分鸢尾花数据集 当数据科学家面对高维数据时&#xff0c;降维技术就像一把瑞士军刀。虽然主成分分析(PCA)几乎成了降维的代名词&#xff0c;但在分类任务中&#xff0c;线性判别分析(LDA)往往能带来意想不到的…...

EPUB转有声书:基于Python的自动化实现与TTS技术实践

1. 项目概述&#xff1a;从电子书到有声书的自动化转换 作为一名长期与数字内容打交道的开发者&#xff0c;我经常遇到一个需求&#xff1a;如何高效地将海量的 EPUB 电子书转换成方便“听”的有声书&#xff1f;无论是通勤路上、做家务时&#xff0c;还是想保护视力的时候&am…...