当前位置: 首页 > article >正文

初识JVM、解释和运行、内存管理、即时编译

目录

什么是JVM

JVM的功能——解释和运行、内存管理、即时编译

常见的JVM

总结:

JVM到底是什么?

JVM的三大核心是什么?

常见的JVM虚拟机有哪些?

什么是JVM

JVM全称是Java Virtual Machine,中文译名为Java虚拟机。

JVM本质上是一个运行在计算机上的程序,他的职责是运行Java的字节码文件解释成机器码文件。

.java文件通过javac编译成.class文件【也就是字节码文件】,然后通过java虚拟机解释成机器码。

注:javac 是java中的编译源代码的命令工具,将.java文件编译成 .class 文件。

JVM的功能——解释和运行、内存管理、即时编译

1、解释和运行

对字节码文件中的指令,实时的解释成机器码,让计算机执行。

2、内存管理

  • 自动为对象、方法等分配内存
  • 自动的垃圾回收机制,回收不再使用的对象

3、即时编译——JIT(提升java性能最核心的手段)

对热点代码进行优化,提升执行效率。

  • 由于JVM需要实时解释虚拟机指令,不做任何优化性能不如直接运行机器码的C、C++等语言。

java需要实时的将字节码转换成机器码文件(随着程序的执行,需要反复地进行该操作,每次都会花费一定的时间),而c/c++在编译过程中直接可以将源代码文件转换成计算机任何的机器码 .c文件-->.exe文件

  • java需要实时解释,主要是为了支持跨平台特性。

优化的过程:

在java字节码文件中的热点字节码指令 被解释并优化为机器码,然后这段机器码保存至内存中,当需要再次执行的时候 直接调用就可以了,这样一来就省略了一次解释的步骤,提高了性能。

常见的JVM

  • HotSpot(Oracle JDK) —— 默认的虚拟机 闭源的
  • HotSpot (Open JDK)—— 开源的
  • GraaLVm —— 针对微服务的
  • 龙井 JDK —— 针对电商、物流、金融等领域对性能要求高的
  • Eclipse OpenJ9 —— 用的很少

总结

  1. JVM到底是什么?

JVM时Java虚拟机,是一运行在计算机上的程序,他的职责是运行java字节码文件。

  1. JVM的三大核心是什么?

JVM包含 内存管理 、解释执行虚拟机指令、即时编译三大功能。

  1. 常见的JVM虚拟机有哪些?

常见的JVm有HotSpot、OpenJ9、还有阿里的DragonWell龙井JDK。


http://www.kler.cn/a/389588.html

相关文章:

  • 5G时代的关键元件:射频微波MLCCs市场前景广阔
  • YUM 的使用
  • 15 个改变世界的开源项目:塑造现代技术的先锋力量
  • 力扣 LeetCode 27. 移除元素(Day1:数组)
  • 准确--FastDFS快速单节点部署
  • iOS 18.2 重磅更新:6个大动作
  • 【真题笔记】16年系统架构设计师要点总结
  • Linux之sed命令详解
  • Java将Boolean转为Json对象的方法
  • Web前端演示:遥感建筑物图像分割
  • 前端CSS3 渐变详解
  • 15分钟学 Go 第 46 天 : 监控与日志
  • 15分钟学 Go 第 41 天:中间件的使用
  • git status 命令卡顿的排查
  • Qt信号和槽-->day04
  • Rust学习(二)——rust基础语法Ⅰ:
  • 【数据分享】2024年我国省市县三级的生活服务设施数量(46类设施/Excel/Shp格式)
  • 大数据实训室中,高职大数据可视化开发技术实训课程改革研究
  • 【机器学习】强化学习(1)——强化学习原理浅析(区分强化学习、监督学习和启发式算法)
  • 蓝桥杯-洛谷刷题-day2(C++)
  • Linux系统程序设计--2. 文件I/O
  • 大模型系列——LLAMA-O1 复刻代码解读
  • Spring Boot 的生命周期
  • 【进阶】Stable Diffusion 插件 Controlnet 安装使用教程(图像精准控制)
  • 探密 C++ STL — 深入理解 Stack 和 Queue 的实现与应用
  • 前端上传大文件,后端报错Content-Type ‘application/octet-stream‘ is not supported【解决】