初识JVM——什么是JVM、JVM的功能——解释和运行、内存管理、即时编译
创作时间:
作者:
@小白创作中心
初识JVM——什么是JVM、JVM的功能——解释和运行、内存管理、即时编译
引用
CSDN
1.
https://m.blog.csdn.net/m0_73864806/article/details/145622145
JVM(Java虚拟机)是Java程序运行的核心组件,它负责解释和执行Java字节码,管理内存,并通过即时编译优化程序性能。本文将详细介绍JVM的基本概念、主要功能以及常见的JVM类型。
1、什么是JVM
JVM全称是Java Virtual Machine,中文译名为Java虚拟机。
JVM本质上是一个运行在计算机上的程序,他的职责是运行Java的字节码文件解释成机器码文件。
.java文件通过javac编译成.class文件【也就是字节码文件】,然后通过java虚拟机解释成机器码。
注:javac 是java中的编译源代码的命令工具,将.java文件编译成 .class 文件
2、JVM的功能——解释和运行、内存管理、即时编译
1、解释和运行
对字节码文件中的指令,实时的解释成机器码,让计算机执行。
2、内存管理
- 自动为对象、方法等分配内存
- 自动的垃圾回收机制,回收不再使用的对象
3、即时编译——JIT(提升java性能最核心的手段)
对热点代码进行优化,提升执行效率。
- 由于JVM需要实时解释虚拟机指令,不做任何优化性能不如直接运行机器码的C、C++等语言。
java需要实时的将字节码转换成机器码文件(随着程序的执行,需要反复地进行该操作,每次都会花费一定的时间),而c/c++在编译过程中直接可以将源代码文件转换成计算机任何的机器码 .c文件-->.exe文件 - java需要实时解释,主要是为了支持跨平台特性。
优化的过程:
在java字节码文件中的热点字节码指令被解释并优化为机器码,然后这段机器码保存至内存中,当需要再次执行的时候 直接调用就可以了,这样一来就省略了一次解释的步骤,提高了性能。
3、常见的JVM
- HotSpot(Oracle JDK) —— 默认的虚拟机 闭源的
- HotSpot (Open JDK)—— 开源的
- GraaLVm —— 针对微服务的
- 龙井 JDK —— 针对电商、物流、金融等领域对性能要求高的
- Eclipse OpenJ9 —— 用的很少
4、总结
JVM到底是什么?
JVM时Java虚拟机,是一运行在计算机上的程序,他的职责是运行java字节码文件。JVM的三大核心是什么?
JVM包含 内存管理 、解释执行虚拟机指令、即时编译三大功能。常见的JVM虚拟机有哪些?
常见的JVm有HotSpot、OpenJ9、还有阿里的DragonWell龙井JDK。
热门推荐
如何做好团队角色分析
择吉日要避开哪些数
mc药水合成表大全
探索抑郁症的遗传风险:一个科学揭秘
庚金生于酉月:财运旺盛的命理分析与事业指导
什么是实景三维技术?军事领域又将如何运用?
非精英跑者该不该装备碳板跑鞋,一文让你了解
Excel数据过大卡顿怎么办?九大实用解决方案
深度调研丨提升监测效能,基层观测队伍与装备如何协同发展?
遏制饭圈,运动员本人态度至关重要,潘展乐清醒
爱豆个人隐私权:如何平衡粉丝关注与保护明星隐私的边界?
液位计终极指南:类型详解、优缺点分析及应用场景
结婚吉日看双方父母 结婚吉日怎么告知女方父母
VMware 安装银河麒麟 Kylin Server V10 SP3 虚拟机
转会消息:奥斯曼恩引豪门哄抢,巴黎、切尔西、尤文将与曼联竞争
美食狂欢后,别让口腔溃疡“找上门”!医生告诉你5个预防重点
揭秘玛雅文明:不只是世界末日的预言者
周三001亚冠联赛推荐:神户胜利船VS光州FC
竖心旁的字有哪些字,探秘“竖心旁”:汉字中的情感与精神世界(通用2篇)
无硅油洗发水是否适合每天使用:了解不同发质的选择与建议
离婚案原告不到庭法院怎么处理
出家真的有那么简单么?佛教出家的条件与仪式详解
拥抱"背后的心理学解析
科普知识:香蕉为何成为运动员的"能量包"?
心理咨询师证书的报考条件是什么?
分娩时家人支持的重要性与行动指南
赏十锦细锣鼓、看皮影戏……他们在泗泾古镇玩转首个“非遗”春节
流域生态修复与防洪减灾协同治理
欧几里得:几何之父的传奇与影响
汽车内饰件雾化性能测试仪的工作原理与应用