【JVM从入门到实战】(一) 字节码文件

一、什么是JVM

JVM 全称是 Java Virtual Machine,中文译名 Java虚拟机。
JVM 本质上是一个运行在计算机上的程序,他的职责是运行Java字节码文件。
在这里插入图片描述

二、JVM的功能

  1. 解释和运行
    对字节码文件中的指令,实时的解释成机器码,让计算机执行
  2. 内存管理
    自动为对象、方法等分配内存
    自动的垃圾回收机制,回收不再使用的对象
  3. 即时编译
    对热点代码进行优化,提升执行效率。
  • Java语言如果不做任何优化,性能不如C、C++等语言。即时编译大大提高了Java程序的运行效率
    在这里插入图片描述
  • Java需要实时解释,主要是为了支持跨平台特性。
    在这里插入图片描述
  • 由于JVM需要实时解释虚拟机指令,不做任何优化性能不如直接运行机器码的C、C++等语言。JVM提供了即时编译(Just-In-Time 简称JIT) 进行性能的优化,最终能达到接近C、C++语言的运行性能,甚至在特定场景下实现超越。
    在这里插入图片描述

三、常见的JVM

在这里插入图片描述

Java虚拟机规范

《Java虚拟机规范》由Oracle制定,内容主要包含了Java虚拟机在设计和实现时需要遵守的规范,主
要包含class字节码文件的定义、类和接口的加载和初始化、指令集等内容。
《Java虚拟机规范》是对虚拟机设计的要求,而不是对Java设计的要求,也就是说虚拟机可以运行在
其他的语言比如Groovy、Scala生成的class字节码文件之上。
官网地址:https://docs.oracle.com/javase/specs/index.html

HotSpot的发展历程

在这里插入图片描述

四、总结

  1. JVM到底是什么?
    JVM 全称是 Java Virtual Machine,中文译名 Java虚拟机,是一个运行在计算机上的程序,他的职责是运行Java字节码文件。
  2. JVM的三大核心功能是什么?
    JVM 包含内存管理、解释执行虚拟机指令、即时编译三大功能。
  3. 常见的JVM虚拟机有哪些?
    常见的JVM有HotSpot、GraalVM、OpenJ9等,另外DragonWell龙井JDK也提供了一款功能增强版的JVM。其中使用最广泛的是HotSpot虚拟机。
  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值