从官网认识 JDK,JRE,JVM 三者的关系

点击下方关注我,然后右上角点击..."设为星标",就能第一时间收到更新推送啦~~~

JVM 是一些大厂面试必问点,要想解决 OOM、性能调优方面的问题,掌握 JVM 知识必不可少,从今天开始,将为大家介绍 JVM 的常用知识。

1、Java 官网

Java 官网主页:https://docs.oracle.com/en/java/index.html

Java 历史版本的官方文档地址:https://docs.oracle.com/en/java/javase/index.html

Java 语言自 1995 年发布以来,Java 已经更新到 JDK 20了。目前绝大多数主流企业使用的版本是 JKD 8,点击之前版本列表中的 JDK 8,打开后如下:

开发人员指南:https://docs.oracle.com/javase/8/docs/index.html

2、JDK,JRE,JVM的关系

从以上的架构图中可以看出,JDK 包含了 JRE 和 JVM,JRE 包含了 JVM。

**JDK(Java SE Development Kit):**JDK 包括 JRE 和命令行开发工具,如编译器和调试器,程序开发者必须安装 JDK 来编译、调试程序。

**JRE(Java SE Runtime Environment):**JRE 提供了 Java 运行时环境以及 JVM运行需要的类库。如果只是运行 Java 程序,可以只安装 JRE,不用安装 JDK。

**JVM(Java Virtual Machines):**Java 虚拟机是 JRE 的一部分,它具有指令集并在运行时操作内存,是一种抽象计算机,不同的操作系统使用不同的 JVM,JVM 是 Java 实现跨平台的核心,负责解释 class 文件为平台无关的字节码。

3、JVM 规范

Java 语言和虚拟机规范:

https://docs.oracle.com/javase/specs/index.html

这个页面里有 Java 6 到 Java 20 版本的所有语言和虚拟机规范,从中我们可以找到 Java SE 8。

点开以后,就能看到 Java 8 的虚拟机规范了,大家可以自行阅读。

后面将为大家介绍类加载机制与类加载器

相关推荐
idealzouhu1 分钟前
Java 并发编程 —— AQS 抽象队列同步器
java·开发语言
爱吃油淋鸡的莫何1 分钟前
Conda新建python虚拟环境问题
开发语言·python·conda
听封5 分钟前
Thymeleaf 的创建
java·spring boot·spring·maven
闲人编程9 分钟前
Python实现日志采集功能
开发语言·python·fluentd·filebeat·日志采集
写bug写bug11 分钟前
6 种服务限流的实现方式
java·后端·微服务
Sol-itude15 分钟前
关于MATLAB计算3维图的向量夹角总是不正确的问题记录
开发语言·matlab·问题解决·向量
楠枬22 分钟前
双指针算法
java·算法·leetcode
奔驰的小野码27 分钟前
java通过org.eclipse.milo实现OPCUA客户端进行连接和订阅
java·开发语言
huapiaoy30 分钟前
Spring mvc
java·spring·mvc