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

createh51个月前 (02-01)技术教程22

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)如下图所示

相关文章

一章带你了解Java虚拟机——JVM(揭秘java虚拟机:jvm设计原理与实现)

1、JVM 的体系结构"堆"中存在垃圾而"栈"中不存在垃圾的原因:堆(Heap)用途:堆主要用于存储对象实例和数组。在Java中,几乎所有通过new关键字创建的对象都会存储在堆内存中。内存分配与释放:...

Java的jvm你应该知道的(jvm有什么)

JVM中类的装载是由类加载器(ClassLoader)和它的子类来实现的,Java中的类加载器是一个重要的Java运行时系统组件,它负责在运行时查找和装入类文件中的类。 由于Java的跨平台性,经过编...

Java虚拟机(jvm)-简介(深入浅出:java虚拟机设计与实现)

一、Java运行时虚拟机内存区域划分1.元空间(Metaspace)元空间(Metaspace)从java8开始替换掉了原来的方法区(Method Area)。相比方法区(Method Area)在元...

Java 动态调试技术原理及实践(java的动态性指的是什么)

调试是发现和减少计算机程序或电子仪器设备中程序错误的一个过程。最常用的断点调试技术会在断点位置停顿,导致应用停止响应。本文将介绍一种Java动态调试技术,希望能对大家有帮助。同时也欢迎读者朋友们一起交...

教你用Java开发一个简单的JVM(java开发实例教程)

一、前言几年前,接到一个开发任务:用Java开发能运行Java智能合约的虚拟机。在开发Java智能合约时,只能使用智能合约SDK提供的类和一些Java常用类(8种基本数据类型包装类;String、Bi...

JVM之Java编译到执行(1)——引(运行java编译器的命令)

Java语言特点一次编写,到处运行。也就是跨平台。 因为这个跨平台的实现原理,而导致Java的编译流程,与以往的C++之类语言有不同。各个操作系统的底层实现,资源的协调,和硬件操作各有各的不同。就意味...