Java初学:一张图给你解释JVM、JRE、JDK三者关系

createh55个月前 (02-01)技术教程50

Java版本

( Java主要有三个版本)

JavaSE:(简称J2SE)Java标准版,是所有Java的技术核心和基础,也是学习Java语言的基础,此版本主要用于开发桌面应用(C/S)程序。

JavaEE:(简称J2EE)Java企业版,是Java技术中应用最广泛部分,主要用于提供企业级平台应用,即构建B/S系统或大型网站。



JavaME:(简称J2ME)Java微型版,主要用于移动设备,嵌入式系统开发。

JVM、JRE、JDK三者关系

JVM :

Java Virtual Machine,即Java虚拟机,是Java程序跨平台实现的核心(可看作简易操作系统),所有的Java程序会首先被编译成 .class 字节码文件,根据字节码指令进行识别并调用上层操作系统。

JMV执行程序过程:

JRE :

Java Runtime Environment, 即Java运行时环境,是Java程序运行的核心,JRE包含了Java虚拟机(JVM)、Java核心类库和支持文件。

JDK :

Java Development Kit,即 Java开发工具包,里面集成了整个Java开发的核心,JDK包含JRE(JVM+系统类库+支持文件)和Java工具。

总结 :

JRE = JVM + 基本类库(系统类库) + 支持文件

JDK = JRE + 开发工具包

Java核心优势:一次编译,到处运行,其跨平台运行的核心在于 JVM

三者关系:(JDK包含JRE 、JRE包含JVM)如下图所示

相关文章

JVM(Java虚拟机)从0到1全部合集,强烈建议收藏

JVM(Java虚拟机)现在已经属于Java面试的重灾区,大厂面试现在基本属于必考内容,建议大家需要重点掌握。为了方便大家更好的掌握好JVM(Java虚拟机),也为了让知识更系统化,这里我单独把JVM...

JVM简介—1.Java内存区域(jvm内存分布包括哪些部分)

大纲1.运行时数据区的介绍2.运行时数据区各区域的作用3.各个版本内存区域的变化4.直接内存的使用和作用5.站在线程的角度看Java内存区域6.深入分析堆和栈的区别7.方法的出入栈和栈上分配、逃逸分析...

终于,Spring 对 JVM 动手了(spring jar)

Spring 在今年 3 月份推出了 Spring Native Beta 版本,我本来还想着等正式发布了再研究下,不用等了,现在我们就来尝尝鲜。https://spring.io/blog/2021...

Java虚拟机 JVM 内存模型概述-通俗易懂

首先先来看下JDK1.7和JDK1.8的JVM划分模型从这张图可以看到JDK1.8和JDK1.7相比最大的区别是:1.8版本开始用元空间区取代了永久代,永久代原本主要存放Class和Meta的信息。而...

入门JAVA必须了解的基础知识-JVM(java基础到入门)

JAVA虚拟机(JVM) JVM包含两个子系统和两个组件:类装载系统和执行引擎系统,运行时数据区和本地接口。如同一台真实的机器,有自己的指令集和执行引擎,可以在运行时操控内存区域,可以解读指令代码并与...

深入浅出JVM之如何定位线上JVM各种问题

如何排查java进程内存占用率高找到java进程pidjps -l 运用jps命令找到java进程的pid定位占用内存的大对象jmap -histo:live 12628(注:如果输出内容太多,只想看...