一篇文章入门Java虚拟机(JVM)

JVM全称是Java Virtual Machine,中文译名Java虚拟机。本质上是一个运行在计算机上的程序

一,JVM的功能

功能 描述
解释和运行 对字节码文件中的指令,实时的解释成机器码,让计算机执行
内存管理 自动为对象、方法等分配内存;自动的垃圾回收机制,回收不再使用的对象
即使编译(Just-In-Time简称JIT) 对热点代码进行优化,以提升Java程序的运行性能

二, 常见的JVM

名称 作者 支持版本 特性 适用场景
HotSpot(Oracle JDK版) Oracle 所有版本 适用最广泛,稳定可靠,社区活跃,JIT支持 闭源,Oracle JDK默认虚拟机
HotSpot(Open JDK版) Oracle 所有版本 适用最广泛,稳定可靠,社区活跃,JIT支持 开源,Open JDK默认虚拟机
GraalVM Oracle 11,17,19,企业版支持8 多语言支持,高性能,JIT、AOT支持 微服务、云原生架构需要多语言混合编程
Dragonwell JDK Alibaba 标准版支持8,11,17;扩展板支持11,17 基于OpenJDK的增强,高性能,bug修复,安全性提升,JWarmup、ElasticHeap、Wisp特性支持 电商、物流、金融领域对性能要求比较高
Eclipse OpenJ9 IBM 9,11,17,19,20 高性能,可扩展,JIT、AOT特性支持 微服务、云原生架构

三,JVM规范

《JVM规范》由Oracle制定,内容主要包含了JVM在设计和实现时需要遵守的规范,主要包含class字节码文件的定义、类和接口的加载和初始化、指令集等内容
Java Language and Virtual Machine Specifications

四,JVM的组成

JVM组成 描述
类加载器ClassLoader 获取类和接口字节码数据
运行时数据区域 负责管理JVM使用到的内存
执行引擎(即时编译器、解释器、垃圾回收器等) 将字节码文件中的指令解释成机器码,同时使用即时编译器优化性能
本地接口 调用本地已经编译的方法,比如虚拟机中提供的C/C++的方法

五,JVM内存模型

JVM内存模型详解

相关推荐
花间相见30 分钟前
【Java基础面试题】—— 核心知识点面试题(含答案):语法+集合+JVM+设计模式+算法
java·jvm·设计模式
2501_908329851 小时前
实战:用OpenCV和Python进行人脸识别
jvm·数据库·python
sqyno1sky4 小时前
数据分析与科学计算
jvm·数据库·python
麦兜顶当当4 小时前
subprocess与子进程交互
java·开发语言·jvm
Lyyaoo.5 小时前
【JAVA基础面经】JVM、JRE、JDK
java·开发语言·jvm
带娃的IT创业者7 小时前
家庭成员管理系统:SQLite 关系型数据库建模实战
jvm·数据库·sqlite·关系型数据库·crud·家庭成员
认真的薛薛8 小时前
JVM和pod内存关系
linux·运维·jvm
左左右右左右摇晃8 小时前
Java线程池工作原理与回收机制
java·jvm·数据结构
闻哥9 小时前
深入理解 InnoDB 的 MVCC:原理、Read View 与可见性判断
java·开发语言·jvm·数据库·b树·mysql·面试
gaozhiyong081310 小时前
深度架构拆解:Gemini 3.1 Pro的核心技术突破与国内镜像站实测指南
java·开发语言·jvm·mysql