初识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 ------ 用的很少

总结

JVM到底是什么?

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

JVM的三大核心是什么?

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

常见的JVM虚拟机有哪些?

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

相关推荐
皮皮林5511 小时前
SpringBoot 全局/局部双模式 Gzip 压缩实战:14MB GeoJSON 秒变 3MB
java·spring boot
weixin_456904272 小时前
Spring Boot 用户管理系统
java·spring boot·后端
趁你还年轻_2 小时前
异步编程CompletionService
java
DKPT2 小时前
Java内存区域与内存溢出
java·开发语言·jvm·笔记·学习
sibylyue2 小时前
Guava中常用的工具类
java·guava
奔跑吧邓邓子2 小时前
【Java实战㉞】从0到1:Spring Boot Web开发与接口设计实战
java·spring boot·实战·web开发·接口设计
专注API从业者2 小时前
Python/Java 代码示例:手把手教程调用 1688 API 获取商品详情实时数据
java·linux·数据库·python
奔跑吧邓邓子2 小时前
【Java实战㉝】Spring Boot实战:从入门到自动配置的进阶之路
java·spring boot·实战·自动配置
ONLYOFFICE2 小时前
【技术教程】如何将ONLYOFFICE文档集成到使用Spring Boot框架编写的Java Web应用程序中
java·spring boot·编辑器
叫我阿柒啊3 小时前
Java全栈开发工程师的实战面试经历:从基础到微服务
java·微服务·typescript·vue·springboot·前端开发·后端开发