JVM学习——JVM基础常识

本文介绍了JVM的使用原因,解析了JDK、JRE与JVM的关系,并对比了OracleJDK与OpenJDK的区别。同时,文章还探讨了JVM与Hotspot之间的联系,以及JVM的两种运行模式——Server模式与Client模式的特点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为什么使用JVM

“一次编译、到处运行”,区别于C语言的在不同操作系统下需要编译成不同的机器码

JDK、JRE与JVM的关系

在这里插入图片描述

OracleJDK和OpenJDK的关系

一句话概括,“We have a lot in common”

在这里插入图片描述

JVM和Hotspot的关系

JVM是《JVM虚拟机规范》中提出的规范
Hotspot是使用JVM规范的一款目前最常用的商用产品。

JVM的两种运行模式及区别

两种运行模式:Server模式与Client模式,可以通过-server或-client设置JVM的运行参数。

两种模式的区别在于:

  • Server VM的初始堆空间会大一些,默认使用的是并行垃圾回收器,启动慢运行快
  • Client VM相对来说会保守一些,初始堆空间会小一些,使用串行的垃圾回收器,它的目标是为了让JVM的启动速度更快,启动快运行慢
  • 32位操作系统,Windows系统不论硬件配置如何都默认使用Client类型的JVM,其他操作系统配有2GB以上内存且有2个以上CPU的话默认使用Server模式,否则使用Client模式;
  • 64位操作系统只有Server模式,不支持Client模式。

JVM架构图

在这里插入图片描述

JVM执行流程图

Java编译成字节码、动态编译和解释为机器码的过程:
在这里插入图片描述
编译器和解释器的协调工作流程:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值