最通俗易懂的一篇文章了解JVM、JRE、JDK的关系是什么?

简介: 最通俗易懂的一篇文章了解JVM、JRE、JDK的关系是什么?


需要前期知识

1、JVM和操作系统的关系是什么?

JVM、JRE、JDK的关系?

我们了解了JVM是什么,JVM就行相当于我们的操作系统,是负责来解释或翻译.class文件的,识别.class中的指令,从而调用操作系统中的指令。

我们了解到JVM是使Java程序能够运行并且能够使之跨平台运行的核心。但是JVM自己是干不了这一切的,就像“有了开发人员,为什么需要产品经理,为什么需要测试人员,为什么需要运维人员”一样。

我们就好比是开发人员,但是你开发之前和之后的呢?什么你都不知道怎么开发?项目开发之后你如何保证正常使用?

JVM虽然功能强大,但是还是需要其他的小伙伴给它提供原料(.class文件)。

仅仅是JVM是无法完成一次编译,处处运行的。它需要一个基本的类库,也就是我们很熟悉的API,比如怎么操作文件、怎么连接网络等

Java体系中,在一个程序执行的时候,JVM也会一起运行和一起销毁,会一次性将JVM运行所需的类库都传递给它。JVM标准加上实现的一大堆基础类库,就组成了Java的运行时环境,也就是我们很熟悉的JRE (Java Runtime Environment)。

有了JRE之后,我们的Java程序便可以在任意操作系统中运行了。

扩展:涨知识环节:

你可能听说过:如果只是运行环境的话,只需要安装JRE即可

没错,如果只需要运行一些Java程序,只需要一个JRE就足够了

对于JDK来说,个体是非常庞大的。除了携带着JRE之外,JDK还提供了一些非常好用的小工具,比如:java、javac、jar等。它是Java开发的核心,就像给厨房提供各种料一样,从而能抄出美味的菜。

扩展:涨知识环节:

如果是开发环境就需要安装JDK了

JDK的全拼Java Development Kit。JVM、JRE、JDK他们三者之间的关系,可以用一个包含的关系表示。

三者包含关系:

JDK>JRE>JVM

目录
相关文章
|
11天前
|
存储 算法 Java
jvm性能优化(一)-基于JDK1.8
jvm性能优化(一)-基于JDK1.8
|
18天前
|
Java
安装JDK18没有JRE环境的解决办法
安装JDK18没有JRE环境的解决办法
|
22天前
|
存储 缓存 监控
【JVM调优】如何进行JVM调优?一篇文章就够了!
深入解读JVM性能的监控、定位和调优方案,阐述jps/stat/jstack、MAT等常用性能分析工具的使用,提出JVM参数、内存溢出、内存泄漏、CPU飙升、GC频繁等实际场景下JVM调优的方案。
149 15
【JVM调优】如何进行JVM调优?一篇文章就够了!
|
2月前
|
Java
No compiler detected, make sure you are running on top of a JDK instead of a JRE
No compiler detected, make sure you are running on top of a JDK instead of a JRE
35 1
|
2月前
|
C# Windows 开发者
当WPF遇见OpenGL:一场关于如何在Windows Presentation Foundation中融入高性能跨平台图形处理技术的精彩碰撞——详解集成步骤与实战代码示例
【8月更文挑战第31天】本文详细介绍了如何在Windows Presentation Foundation (WPF) 中集成OpenGL,以实现高性能的跨平台图形处理。通过具体示例代码,展示了使用SharpGL库在WPF应用中创建并渲染OpenGL图形的过程,包括开发环境搭建、OpenGL渲染窗口创建及控件集成等关键步骤,帮助开发者更好地理解和应用OpenGL技术。
97 0
|
2月前
|
Java 编译器 开发工具
JDK vs JRE:面试大揭秘,一文让你彻底解锁Java开发和运行的秘密!
【8月更文挑战第24天】JDK(Java Development Kit)与JRE(Java Runtime Environment)是Java环境中两个核心概念。JDK作为开发工具包,不仅包含JRE,还提供编译器等开发工具,支持Java程序的开发与编译;而JRE仅包含运行Java程序所需的组件如JVM和核心类库。一个简单的"Hello, World!"示例展示了两者用途:需借助JDK编译程序,再利用JRE或JDK中的运行环境执行。因此,开发者应基于实际需求选择安装JDK或JRE。
41 0
|
2月前
|
缓存 Java 编译器
JRE、JDK、JVM 和 JIT 之间的区别详解
【8月更文挑战第22天】
41 0
|
2月前
|
Java
cxf 动态调用 WebService No compiler detected, make sure you are running on top of a JDK instead of a JRE
cxf 动态调用 WebService No compiler detected, make sure you are running on top of a JDK instead of a JRE
36 0
|
2月前
|
Arthas Prometheus 监控
使用JDK自带工具调优JVM的常用命令
使用JDK自带工具调优JVM的常用命令
|
2月前
|
Java 关系型数据库 MySQL
"解锁Java Web传奇之旅:从JDK1.8到Tomcat,再到MariaDB,一场跨越数据库的冒险安装盛宴,挑战你的技术极限!"
【8月更文挑战第19天】在Linux上搭建Java Web应用环境,需安装JDK 1.8、Tomcat及MariaDB。本指南详述了使用apt-get安装OpenJDK 1.8的方法,并验证其版本。接着下载与解压Tomcat至`/usr/local/`目录,并启动服务。最后,通过apt-get安装MariaDB,设置基本安全配置。完成这些步骤后,即可验证各组件的状态,为部署Java Web应用打下基础。
42 1