也谈JVM、JRE、JDK之间不得不说的关系

  • JVM — java virtual machine

JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。 JVM屏蔽了与具体操作系统平台相关的信息,使Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。JVM在执行字节码时,实际上最终还是把字节码解释成具体平台上的机器指令执行。编译虚拟机的指令集与编译微处理器的指令集非常类似。

Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。这就是Java的能够“一次编译,到处运行”的原因。【引自百度百科】

 

  • JRE — Java Runtime Environment

JRE(Java Runtime Environment,Java运行环境),运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。它包括Java虚拟机、Java核心类库和支持文件。它不包含开发工具--编译器、调试器和其它工具。JRE需要辅助软件--Java Plug-in--以便在浏览器中运行applet。【引自百度百科】

 

  • JDK — Java Development Kit

JDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK。JDK 是整个Java的核心,包括了Java运行环境、Java工具和Java基础类库。JDK是学好Java的第一步。而专门运行在x86平台的Jrocket在服务端运行效率也要比Sun JDK好很多。从SUN的JDK5.0开始,提供了泛型等非常实用的功能,其版本也不断更新,运行效率得到了非常大的提高。【引自百度百科】

 

总结:JVM是一个与操作系统没有关系的虚拟机,来执行.class文件,但是只有JVM是不能完全执行.class文件。为了能够在不同的操作系统(比如:windows,Linux,ios等)上运行,需要有相应的bin和lib的支持,这样JRE就出现了,它包含了JVM,和具体的操作系统相关,所以我们在下载JRE的时候就会关注针对不同操作系统不同的版本。既然可以运行程序了,作为程序猿就要写相应的JAVA程序,并进行编译,为了方便程序猿,这样JDK就出现了,它包含了JVM和JRE,其中比较重要的lib文件夹中就是为程序提供了一些类库,bin文件夹提供了将.java文件编译为.class文件等功能。见下图来加深理解。



 

YOLOv11与CLIP融合的零样本目标检测技术:原理、实现与创新实践 YOLO(You Only Look Once)系列作为单阶段检测器的代表,以其实时高效的特性在工业界获得广泛应用。YOLOv11作为该系列的最新演进,引入了多项架构创新: C3K2模块:采用双小卷积核替代传统大卷积核,在保持感受野的同时减少计算量。当参数c3k=False时退化为YOLOv8的C2F模块,提供灵活的精度-效率权衡。 C2PSA(Convolutional block with Parallel Spatial Attention):通过并行空间注意力机制增强对微小目标的特征提取能力,这对 阅读详情

相关推荐

矢量量化的基本原理:高效数据压缩与信息检索的关键矢量量化(Vector Quantization,简称VQ)是一种数据压缩和信

此外,在矢量量化过程中,可能会引入一定的信息损失,对一些精细特征的表示可能存在一定的误差。它通过将高维数据映射到低维码本空间中,并将相似的数据映射到相同的码本向量中,实现对数据的高效表示和存储。最重要的是,矢量量化可以用于数据的检索和分析,提供了高效的数据查询和处理手段。通过使用码本索引,我们可以高效地存储和检索大量的数据。在图像处理中,矢量量化可以用于图像压缩,将复杂的图像数据转化为较少的码字,实现图像的存储和传输。矢量量化通过将连续的高维数据分割并映射到有限的码本集合中,实现数据的离散表示和压缩。

m0_70886513的博客 1373

What is the difference between JRE,JVM and JDK?

If you are a Java developer, it is very often that you think about understanding the JRE,JVM and JDK. Once if you understand these things, it would be quite easy for you to visualize things in logical

YEJIANSHENG123的专栏 1966

基于Multisim设计电子密码锁

一、设计任务与要求:(可软件仿真实现)1)基本要求:设计一个数字密码锁,要求只有按正确的顺序,输入正确的密码,方能输出开锁信号,实现开锁。设置三个正确的密码键和若干个伪键,任何伪键按下后,密码锁都无法打开。每次只能接受四次按键信号,而且第四个键只能是“确定”或者“重输键”,其他无效。能显示已输入键的个数2)扩展要求:第一次密码输错后,可以输入第二次,但是连续三次输错,密码将被锁,必须按复位键才能解锁。

ablinger的博客 4418

简述java中JDK、JRE和JVM的之间的关系

初学java平台,很容易搞不清楚java中的一些概念。以下简述一下本人对JDK、JRE和JVM的之间的关系: 概念 JDK(Java Development Kit)简单理解就是Java开发工具包,是java的核心所在;JRE(Java Runtime Enviroment)是Java的运行环境,JVM( java virtual machine)也就是常常听到Java虚拟机。JDK是面向开发者的,JRE是面向使用JAVA程序的用户,JVM是java实现跨平台和系统的媒介所在。 一、JDK(Java Dev

m0_67401417的博客 1万+

【KBrowser】基于 Kiwi/chromium 制作全新外壳,将 chromium 代码当作 webview 使用,实现可控核替换

chromium 其实只需几步巧妙的架构,就能拿来“换核”,甚至可以插件化,实现类似webview.apk 的效果。重新设计界面,不再是差不多的回声。而 Kiwi 基于 chrome 77 ,只有 50 MB。优势是兼容好、可安装扩展。

sinat_27171121的博客 2029

从内参矩阵到归一化平面:揭秘相机成像的标准化核心

本文深入解析了相机成像中的核心概念——归一化平面。通过拆解内参矩阵(包含焦距、主点等参数)的作用,详细阐述了如何将像素坐标转换为与具体相机硬件无关的归一化坐标。这一标准化过程是计算机视觉算法(如多相机系统对齐、视觉SLAM)实现跨设备通用性的关键,能有效提升算法的鲁棒性和泛化能力。

opencv7vision的博客 449

JDK、JRE、JVM 之间的关系

JDK、JRE、JVM 之间的关系

m0_56673710的博客 1万+

【强化学习的数学原理-赵世钰】课程笔记(一)基本概念

在B站上学习强化学习的课程笔记,笔记非常详细清晰,会持续更新

qq_64671439的博客 1万+

JVM、JRE、JDK之间的关系

JVM是Java程序运行的核心,它负责将Java字节码转换为可以在任何操作系统上执行的机器码。JRE提供了运行Java程序所需的一切,包括JVM和Java类库。JDK包含了JRE以及开发Java程序所需的工具,是Java开发者的必备工具箱。JDK=JRE+java开发工具(javac.exe、java.exe、javadoc.exe....)JRE=JVM+Java核心类库这三者之间的关系可以形象地理解为:JVM是引擎,JRE是车辆,而JDK是包含车辆和工具的工作坊。在开发阶段,你需要JDK。

阿鹏的博客 1484

Java对接快递鸟,查询快递物流信息

根据用户输入的订单号,我们的后台识别订单号并根据快递鸟查询快递API接口,实现自动查询的功能。下面是java版本的根据单号查询物流跟踪信息的详细示例代码。只需要下载就可以运行,(自己需要简单的修改)注:登录快递鸟用户管理后台后获得。登录快递鸟用户管理后台。

Roc的博客 958

【LIN总线测试】——LIN主节点数据链路层测试

LIN总线是基于UART/SCI(通用异步收发器/串行接口)的低成本串行通讯协议。其目标定位于车身网络模块节点间的低端通信,主要用于智能传感器和执行器的串行通信,而这正是CAN总线的带宽和功能所不要求的部分。本章节主要介绍LIN主节点数据链路层如何测试?

测试领域技术分享 2613

JDK、JRE和JVM三者之间关系

基本介绍: JDK(Java Development Kit)是针对Java开发员的产品,是整个Java的核心,包括了Java运行环境JRE、Java工具和Java基础类库。Java Runtime Environment(JRE)是运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。JVM是Java Virtual Machine(Java虚拟机)的缩写,是整个java实现跨平台的最核心的部分,能够运行以Java语言写作的软件程序。 1、JDK JDK是java开发工具包,在其安

wu_you_gu_liang的博客 3507

华为数字化转型之道 方法篇 第五章 视IT为投资,用产品思维管理IT

比较传统信息化和数字化转型下的IT系统特征,我们发现业务环境、IT能力、业务和IT的关系都发生了巨大的变化(见图5-1)从“管理系统”到“作业平台”。企业通常的做法是将线下的文档、流程线上化,IT系统是作为管理系统而存在的。而面向数字化,企业的业务作业、业务运营和决策、团队协同等业务动作已经和IT系统集成,IT系统逐步转变为作业系统。从“功能优先”到“体验优先”,如果要整体完成一项工作往往需要用户在不同系统间切换,费时费力。

沧海之巅的专栏 1094

JDK、JRE、JVM之间的关系

注:JVM是用来执行Java字节码的虚拟机,但如果没有Java标准类库,它可能无法正常执行包含对这些类库的依赖的程序。我们利用JDK开发了属于我们自己的Java程序后,通过JDK中的javac编译,将.java文件编译成.class文件(Java字节码),在JRE上运行这些Java字节码,JVM解析这些字节码,映射到CPU指令集或OS的系统调用。它包括JRE,还包括用于编译、调试和运行Java代码的工具,如编译器(javac)、调试器(jdb)、Java文档生成器(javadoc)等。

qq_39578649的博客 1184

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

简述JVM、JRE、JDK的关系及作用

很多Java的程序员在写了很多代码之后,你问他JRE和JDK是是什么关系,JVM又是什么东西,他是不知道的。 JVM(Java Virtual Machine) Java 虚拟机。它只认识 xxx.class 这种类型的文件,它能够将 class 文件中的字节码指令进行识别并调用操作系统向上的 API 完成动作。所以说,JVM 是 Java 能够跨平台的核心。 JRE (Java Runtime Environment) Java 运行时环境。它主要包含两个部分,JVM的标准实现和 Java 的一些基本类库

web13618542420的博客 3333

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

JDK、JRE、JVM 分别是什么关系?

JDK(Java Development Kit)、JRE(Java Runtime Environment)和JVM(Java Virtual Machine)在Java中各自扮演不同的角色,并且它们之间存在明确的依赖和包含关系。需要注意的是,Java的“一次编写,到处运行”的特性正是得益于JVM的跨平台性,它可以在不同的操作系统和硬件平台上模拟相同的Java运行环境。Java的运行过程主要涉及源代码的编译、类加载以及JVM(Java Virtual Machine)的执行。二、java运行的过程。

m0_46552684的博客 1186

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

JDK,JRE,JVM之间的关系

1 图形理解 2 JDK(Java Development Kit):JAVA开发工具包 JDK(Java Development Kit) 是整个JAVA的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API 包括rt.jar)。 JDK包含JRE,而JRE包 含JVM。 2....

魚 722

Java中JDK、JRE,JVM之间的关系

是三个核心概念,其关系可概括为。

2301_80215285的博客 1178

Java中jdk jre jvm 三者之间的关系

Java中的 JDK JRE JVMJDK JRE JVM三者之间联系 JDK JRE JVM JDK: Java Development Kit (JDK). Java的开发工具包。其包含了Java开发的工具(Javac、Java、jdb等)和基本类库(Java API)。 JRE:Java Runtime Environment (JRE). Java的运行环境。包含了Java运行环境。 J...

Dianna_YY的博客 779

Java中JDK,JRE和JVM之间的关系

Java中JDK,JRE和JVM之间的关系 初学JAVA很容易被其中的很多概念弄的傻傻分不清楚,首先从概念上理解一下吧,JDK(Java Development Kit)简单理解就是Java开发工具包,JRE(Java Runtime Enviroment)是Java的运行环境,JVM( java virtual machine)也就是常常听到Java虚拟机。JDK是面向开发者的,JRE是面向使...

Janebook的博客 1066

jvm,jre以及jdk三者之间的关系?

JDK JDK是java开发工具包,在其安装目录下面有六个文件夹、一些描述文件、一个src压缩文件。bin、include、lib、 jre这四个文件夹起作用,demo、sample是一些例子。可以看出来JDK包含JRE,而JRE包含JVM。 bin:最主要的是编译器(javac.exe) include:java和JVM交互用的头文件 lib:类库 jre:java运行环境(注意:这里的bi...

清平调、其N 的博客 1366

JDK JRE JVM之间的关系

java开发工具包java运行环境java虚拟机JDK全称Java Develement Kit (Java开发工具包),顾名思义就是开发Java所需的工具的集合,打开jdk的安装路径, 可以看到jdk文件夹里面包含了bin、jre、lib等文件夹(如下图1所示);1.bin目录下最主要的就是java的编译器javac;2.include里面是java和JVM交互用的头文件;3.lib里面主要是java类库;

weixin_64634186的博客 855

JDK、JRE和JVM之间的关系

java学习之初,都会学习到JDK、JRE和JVM之间的区别与联系。本文是作者在学习这部分内容过程中的一些个人的总结归纳。

weixin_39549410的博客 5209
上一篇: java基础之Java变量命名规范 (转载)
下一篇: JAVA关键字
java_lover2116
博客等级 码龄19年 5粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值