初识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。
热门推荐
床头朝向有讲究:五大禁忌与最佳布局指南
轮胎上最大胎压的影响因素有哪些?怎样合理设置轮胎胎压?
雷凌轮胎气压应该设置为多少
低热量、高营养!红薯助攻稳定血糖、控体重,还能养颜美容!
宝可梦光辉和闪光区别
别再迷茫!一篇文章带你全方位了解德国移民的合法途径与签证类型
草鸮:中等体型的夜行猛禽
明明“不差钱” 他们为何疯狂偷窃?
客厅装窗纱风水适宜吗?影响家居运势的真相
中老年人吃三七粉有什么好处
如何有效掌握英语单词的发音?
樱花与樱桃的真相:你真的了解它们吗?
Excel工作表标签不见了怎么办?多种实用解决方案帮你轻松找回
透明性和解释性AI:概念与应用
一文读懂:亲情账户、家庭共济、省内共济、跨省共济的区别与使用方法
芳草萋萋鹦鹉洲——探寻一首古诗的全貌与深意
台球初学者必备指南:从基础到进阶的全面解析
身体的这个地方异常,可能是脑梗的预警,及早发现能救命~
CUDA配置及Pytorch-GPU安装教程
心梗来临前的6个预警信号!记住这些,关键时刻能救命
快速思维:提升反应速度
6款“最地道”的东北百姓菜,道道经典,没吃过:怕是个假东北人
汽车需要购买哪些商业险?商业险种类如何选择?
《黑暗之魂3》中法兰不死队的背景故事解析及不使用盾牌的原因解释
折耳根煮水的功效与制作方法
助力“五保户”孤寡老人安度晚年 | 社工案例计划
哪吒1与哪吒2形象创新演进与挑战:从叛逆少年到救世英雄
网课新趋势:如何有效利用在线学习提升自我技能?
热饭秘籍大解密:不同加热方式的操作要点和注意事项是什么?
关税战背后的逻辑与美国民众的困境:一场精英与普通人的利益博弈