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

createh53个月前 (02-01)技术教程33

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虚拟机设计与实现)

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

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

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

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

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

Java的优势:跨平台只是一部分(java优劣势)

以下讨论只针对PC端和移动端。Java最大的优势真的在于跨平台吗?以前是,但现在已经不是了。有跨平台需求的仅仅是客户端应用,而不是服务端。例如桌面应用,你的客户可能是Windows用户,也可能是Lin...

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

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

Java面试篇基础部分-JVM详细介绍(java面试必备 基础知识篇)

JVM的运行机制JVM(Java Virtual Machine)是用于运行Java字节码的虚拟计算机,其中包括一套字节码的指令集、程序寄存器、虚拟机栈、虚拟机堆、本地方法区、垃圾回收器。JVM运行在...