点击下方关注我,然后右上角点击..."设为星标",就能第一时间收到更新推送啦~~~
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 的虚拟机规范了,大家可以自行阅读。
后面将为大家介绍类加载机制与类加载器。